Testing IO PRP List

Keith Busch keith.busch at intel.com
Thu Mar 5 07:12:57 PST 2015


On Thu, 5 Mar 2015, Olivier Mallinger - IP Maker wrote:
> Continuing my investigation to test NVMe feature, I am looking for a way to 
> test IO PRP List.
>
> Basically, the driver only creates contiguous queue for both submission and 
> completion queues.
> To test, I wanted to use nvme-cli to do the following :
>  1 - Delete one IO submission queue using "admin-passthru" command
>  2 - Delete one IO completion queue using "admin-passthru" command
>  3 - Create one IO completion queue using "admin-passthru" command with 
> support of PRP List
>  4 - Create one IO submission queue using "admin-passthru" command with 
> support of PRP List
>  5 - Perform many IO read and write to check IO PRP List behavior

I don't think you should delete or create queues from userspace.
Deleting them out from under the driver is just going to confuse it
when IO stops working. Creating isn't safe since the user address for
the queue is pinned in memory only while the passthrough command is in
flight. Plus the queue memory is freed when the "nvme" program exits
anyway, but the h/w queue still exists.

The driver does not do any interpretation what-so-ever on passthroughs,
so while it is possible to send those commands, it's not going to do
what I think you're looking for.

There's no reason I know of to add support for physically discontiguous
IO queues in the Linux driver, so I don't think this feature is testable
in this environment.



More information about the Linux-nvme mailing list