public inbox for devel@edk2.groups.io
 help / color / mirror / Atom feed
* Testing NVMe async commands
@ 2017-03-15 14:31 Arka Sharma
  2017-03-16  2:41 ` Tian, Feng
  0 siblings, 1 reply; 2+ messages in thread
From: Arka Sharma @ 2017-03-15 14:31 UTC (permalink / raw)
  To: edk2-devel

We have developed an application to test the async flow in
NvmExpressDxe. We have allocated a buffer of size 8 MB and in that
buffer we are reading 128k chunks, which results in 64 commands as the
async submission queue depth is 64, after calling passthru with the
Event we increment a counter and inside the notification function we
decrement the counter. After sending all the commands we wait till the
counter becomes 0. After 64 reads are completed we issue 64 write
command passing the buffer we have just read. So after 8 MB is done we
increment the lba and repeat the same. In the application we are
putting the starting lba of each 8 mb operation, so it increments as
0x0, 0x4000, 0x8000 as lba size of the device is 512 bytes. We are
observing a hang at lba 0x66E4000, after processing 210720 commands.
We are creating and closing the events after each 8 MB read and write.
This stuck is seen consistently. May be there is something wrong we
are doing in the application.

Please let me know if there is any reference UEFI application to test async ?


^ permalink raw reply	[flat|nested] 2+ messages in thread

* Re: Testing NVMe async commands
  2017-03-15 14:31 Testing NVMe async commands Arka Sharma
@ 2017-03-16  2:41 ` Tian, Feng
  0 siblings, 0 replies; 2+ messages in thread
From: Tian, Feng @ 2017-03-16  2:41 UTC (permalink / raw)
  To: Arka Sharma, edk2-devel@lists.01.org; +Cc: Tian, Feng

Hi, Sharma

As far as I know, we have UEFI SCT test suite to cover NVME_PASS_THRU async test. But it's not complex as your case.

As you have sent 210720 cmds, it's more like memory leak issue. Could you please only send 10000 cmds and compare the memory map change before and after? If there is big memory map change, then there should have memory leak. 

Thanks
Feng

-----Original Message-----
From: edk2-devel [mailto:edk2-devel-bounces@lists.01.org] On Behalf Of Arka Sharma
Sent: Wednesday, March 15, 2017 10:32 PM
To: edk2-devel@lists.01.org
Subject: [edk2] Testing NVMe async commands

We have developed an application to test the async flow in NvmExpressDxe. We have allocated a buffer of size 8 MB and in that buffer we are reading 128k chunks, which results in 64 commands as the async submission queue depth is 64, after calling passthru with the Event we increment a counter and inside the notification function we decrement the counter. After sending all the commands we wait till the counter becomes 0. After 64 reads are completed we issue 64 write command passing the buffer we have just read. So after 8 MB is done we increment the lba and repeat the same. In the application we are putting the starting lba of each 8 mb operation, so it increments as 0x0, 0x4000, 0x8000 as lba size of the device is 512 bytes. We are observing a hang at lba 0x66E4000, after processing 210720 commands.
We are creating and closing the events after each 8 MB read and write.
This stuck is seen consistently. May be there is something wrong we are doing in the application.

Please let me know if there is any reference UEFI application to test async ?
_______________________________________________
edk2-devel mailing list
edk2-devel@lists.01.org
https://lists.01.org/mailman/listinfo/edk2-devel


^ permalink raw reply	[flat|nested] 2+ messages in thread

end of thread, other threads:[~2017-03-16  2:41 UTC | newest]

Thread overview: 2+ messages (download: mbox.gz follow: Atom feed
-- links below jump to the message on this page --
2017-03-15 14:31 Testing NVMe async commands Arka Sharma
2017-03-16  2:41 ` Tian, Feng

This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox