【发布时间】:2016-10-10 08:26:20
【问题描述】:
为了实现 NVMe SSD 和其他 PCIe 设备之间的 p2p 通信,我想知道我是否需要对 Linux 内核和 NVMe 驱动程序进行一些修改,等等?我应该做哪些修改?我已经搜索了几天,但是这方面的信息很少,我需要一些参考资料。 非常感谢!
【问题讨论】:
-
你找到这个问题的答案了吗?
标签: p2p pci-e solid-state-drive
为了实现 NVMe SSD 和其他 PCIe 设备之间的 p2p 通信,我想知道我是否需要对 Linux 内核和 NVMe 驱动程序进行一些修改,等等?我应该做哪些修改?我已经搜索了几天,但是这方面的信息很少,我需要一些参考资料。 非常感谢!
【问题讨论】:
标签: p2p pci-e solid-state-drive
有一个 NVMe 规范。称为“控制器内存缓冲区写入数据”的功能。反过来,CMB 写入数据支持 NVMe 设备与 PCIe 总线上的其他设备之间的 P2P 事务。虽然大部分 CMB 规范已在最新的上游内核中实现,但 CMB 写入数据还没有。 CMB 的问题是它为这些 P2P 交易提供的内存非常少。这是还没有人在上游实现该功能的原因之一。但是,您可以通过用户空间 NVMe 驱动程序/框架 SPDK 来使用它。
另请注意,有一个新的 NVMe 规范。称为持久内存区域的功能。这有更多的内存可供使用,我怀疑有人会在不久的将来将它贡献给上游。
https://www.flashmemorysummit.com/English/Collaterals/Proceedings/2018/20180808_SOFT-201-1_Bates.pdf 是有用的背景材料。
【讨论】: