public inbox for devel@edk2.groups.io
 help / color / mirror / Atom feed
From: Sajeesh Kk <sajee.kk@gmail.com>
To: Laszlo Ersek <lersek@redhat.com>
Cc: Rafael Machado <rafaelrodrigues.machado@gmail.com>,
	edk2-devel@lists.01.org
Subject: Re: BlockIo2 Protocol test tool
Date: Sat, 2 Feb 2019 12:35:50 +0530	[thread overview]
Message-ID: <CA+1y_6W3Ew0B26HXCeCh4o2keRJvM93z=efSihdhf2-qDgkThw@mail.gmail.com> (raw)
In-Reply-To: <18b7cdf5-8569-ab69-fc19-21da7ce2b1ea@redhat.com>

Hello Laszlo,

Thanks for the quick response. I have some doubts regarding
"TransactionStatus" that should be signaled by the driver when an IO
operation is completed. If my understanding is not correct please educate.

1. As per UEFI spec, the error codes EFI_DEVICE_ERROR, EFI_NO_MEDIA,
EFI_MEDIA_CHANGED or EFI_WRITE_PROTECTED should not be signaled when non
Blocking IO is being used. so if an IO fails, the driver should not signal
the event as per the spec. if this is the case,
    the event should be signaled only when IO is completed successfully ?
2. If the driver does not have enough resources to complete an IO request,
the driver should signal the event with same status (EFI_OUT_OF_RESOURCES)
so that caller will retry the IO ? In such cases, what should be the status
of  ReadEx/WriteEx callbacks itself that should returned to the caller ?

In short, i am bit confused what should be the "Transaction Status" that
should be signaled by the driver. Please comment.

Thanks,
Sajeesh.



On Mon, Jan 28, 2019 at 2:17 PM Laszlo Ersek <lersek@redhat.com> wrote:

> Hi,
>
> On 01/26/19 17:57, Sajeesh Kk wrote:
> > Hello Rafeal,
> >
> > I believe The UEFI Sct test suite cannot be used for performance testing.
> > Are there any tools which can be used from UEFI shell to measure disk IO
> > perfomance using BlockIO2 Protocol ?
> > Please let me know.
>
> from a cursory look, FatPkg/EnhancedFatDxe appears to implement the the
> ReadEx/WriteEx methods of EFI_FILE_PROTOCOL
> (EFI_FILE_PROTOCOL_REVISION2). I think the implementation uses the
> DiskIo2 protocol.
>
> And "MdeModulePkg/Universal/Disk/DiskIoDxe" should automatically install
> DiskIo2 on top of your BlockIo2.
>
> So, if you can write a simple UEFI application that uses the *Ex()
> methods of EFI_FILE_PROTOCOL, that could be a start. (Nothing in edk2
> seems to use ReadEx / WriteEx currently.)
>
> Thanks,
> Laszlo
>


  reply	other threads:[~2019-02-02  7:06 UTC|newest]

Thread overview: 7+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2019-01-26  3:24 BlockIo2 Protocol test tool Sajeesh Kk
2019-01-26 17:10 ` Rafael Machado
2019-01-26 16:57   ` Sajeesh Kk
2019-01-27 11:05     ` Rafael Machado
2019-01-28  8:47     ` Laszlo Ersek
2019-02-02  7:05       ` Sajeesh Kk [this message]
2019-02-04 16:54         ` Laszlo Ersek

Reply instructions:

You may reply publicly to this message via plain-text email
using any one of the following methods:

* Save the following mbox file, import it into your mail client,
  and reply-to-list from there: mbox

  Avoid top-posting and favor interleaved quoting:
  https://en.wikipedia.org/wiki/Posting_style#Interleaved_style

* Reply using the --to, --cc, and --in-reply-to
  switches of git-send-email(1):

  git send-email \
    --in-reply-to='CA+1y_6W3Ew0B26HXCeCh4o2keRJvM93z=efSihdhf2-qDgkThw@mail.gmail.com' \
    --to=devel@edk2.groups.io \
    /path/to/YOUR_REPLY

  https://kernel.org/pub/software/scm/git/docs/git-send-email.html

* If your mail client supports setting the In-Reply-To header
  via mailto: links, try the mailto: link
Be sure your reply has a Subject: header at the top and a blank line before the message body.
This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox