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