IOCTL question.

Olivier Mallinger - IP Maker olivier.mallinger at
Fri Oct 30 04:36:27 PDT 2015


I want to use the driver's ioctl and nvme cli with pass-through command 
to manage queues.
The purpose is to create a queue with Submission and completion PRP List.

I did a script doing the following :
   - Delete all submission queue (ex. : nvme admin-passthru /dev/nvme0 
--opcode=0x00 --cdw10=0x1)
   - Delete all completion queue (ex. : nvme admin-passthru /dev/nvme0 
--opcode=0x04 --cdw10=0x1)
  - Create new completion queue (ex. : nvme admin-passthru /dev/nvme0 
--opcode=0x05 --cdw10=0x3ff0001 --cdw11=0x2)
   - Create new submission queue (ex. : nvme admin-passthru /dev/nvme0 
--opcode=0x01 --cdw10=0x3ff0001 --cdw11=0x00010000)

Until now, the device has completed all the command successfully and is 
ready to perform I/O command with this new queue.

Then, i try to send a single write command (ex. : nvme write 
/dev/nvme0n1 -s 0 -c 0 -z 4096 -y 0 -r 0 -d essai.txt -p 0 -m 0 -a 0 -l 
0 -t 0 -f 0).
The device is never warn that a new command is available and the write 
is never fetch and not executed.

Can I manage the queue with the driver ioctl in that way ?
What is the driver behavior when I delete and create queue ?


-------------- next part --------------
A non-text attachment was scrubbed...
Name: olivier_mallinger.vcf
Type: text/x-vcard
Size: 316 bytes
Desc: not available
URL: <>

More information about the Linux-nvme mailing list