我正在研究nvme-cli的测试工具(用c编写,可以在linux上运行)。
对于SSD验证目的,我们实际上正在寻找将I / O命令发送到特定的提交队列(IO队列对)。我们需要这个,因为我们想要线程化,但是为了实现线程化,我们需要将I / O请求发送到不同的队列,否则I / O请求将被串行处理。
在ioctl()中有什么办法可以指定提交队列ID吗?
以下是ioctl()
ioctl(fd, NVME_IOCTL_SUBMIT_IO, &io);
这会在驱动程序here中调用nvme_ioctl()
!
nvme_ioctl()
实习生调用nvme_submit_io()
函数here!
nvme_submit_io()
有一个参数struct nvme_ns *ns
,其中结构的字段名称为queue
view here!
我想知道我们是否可以使用另一个新参数ioctl()
来调用queue_id
,该参数将被分配到queue
中struct nvme_ns *ns
的{{1}}字段功能。
我能否知道我们是否可以这样做?
如果是,请给我一些简短的步骤。 如果没有,请建议我任何可能的解决方案。
由于我是nvme或ioctl的新手,如果我错了,请纠正我。