0
votes

I am working on NVMe driver in linux kernel 4.13.10 (blk-mq architecture). I'm issuing a command e.g. Read/write from an application to the nvme device. The complete sequence is as follows :

  1. From the application, the command comes to the nvme
  2. In driver, I'm using blk_execute_rq to submit the command to the block layer
  3. It is observed that when the command reaches the driver again from the block layer, it is mapped to a nvme queue.. Is there any way by which I can choose the nvme queue id myself and submit the command to that particular queue only?
1

1 Answers

0
votes

I think the blk_execute_rq is a generic block layer function. You need to check if any possibility to pass private data such as in the device->priv_data. If you know what function in the nvme driver gets called, then you can do a backtrace to find out where you can insert the queue_id parameter.