我正在为 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 *nsnvme_submit_io()
我能知道我们是否可以这样做吗?
如果是,请给我一些简短的步骤。如果否,请建议我任何可能的解决方案。
由于我是 nvme 或 ioctl 的新手,如果我错了,请纠正我。