gpt4 book ai didi

linux - linux 中的 ioctl() 是否有任何替代方法可以与 nvme 驱动器交互

转载 作者:塔克拉玛干 更新时间:2023-11-03 01:18:10 27 4
gpt4 key购买 nike

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

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

那么我们可以在 ioctl() 中指定提交队列 ID 吗?

是否有其他类似于 ioctl() 的东西,我们可以在其中指定提交队列 ID?

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

最佳答案

您可以尝试包含用户空间 NVMe 驱动程序的 SPDK ( https://github.com/spdk/spdk )。它是用 C 语言编写的。您可以在 spdk/include/spdk/nvme.h 中找到它的 NVMe 驱动程序 API。例如,spdk_nvme_ctrlr_cmd_io_raw() 用于向设备发送任何类型的 IO 命令,以及任何创建的 qpair。

您也可以尝试 Pynvme ( https://github.com/cranechu/pynvme ),它是 SPDK 的 python 扩展。它的 IOWorker 只是在分离的进程和 qpair 中发送请求。

关于linux - linux 中的 ioctl() 是否有任何替代方法可以与 nvme 驱动器交互,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/47899389/

27 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com