有没有办法让linux中的ioctl()为nvme IO请求指定提交队列ID

时间:2017-12-21 04:43:59

标签: linux linux-kernel linux-device-driver systems-programming nvme

我正在研究nvme-cli的测试工具(用c编写,可以在linux上运行)。

对于SSD验证目的,我们实际上正在寻找将I / O命令发送到特定的提交队列(IO队列对)。我们需要这个,因为我们想要线程化,但是为了实现线程化,我们需要将I / O请求发送到不同的队列,否则I / O请求将被串行处理。

在ioctl()中有什么办法可以指定提交队列ID吗?

以下是ioctl()

请求nvme IO的方法
 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,该参数将被分配到queuestruct nvme_ns *ns的{​​{1}}字段功能。

我能否知道我们是否可以这样做?

如果是,请给我一些简短的步骤。 如果没有,请建议我任何可能的解决方案。

由于我是nvme或ioctl的新手,如果我错了,请纠正我。

0 个答案:

没有答案