PCIe设备之间的点对点通信?

4
为了使NVMe SSD和其他PCIe设备之间能够进行p2p通信,我想知道是否需要对Linux内核和NVMe驱动程序进行一些修改,并且还需要做些什么?我已经搜索了几天,但是关于这方面的信息很少,我需要一些参考资料。谢谢!

你找到这个问题的答案了吗? - Benedetto
1个回答

1
有一项名为“控制器内存缓冲区写入数据”的NVMe规范特性。CMB Write Data支持NVMe设备与PCIe总线上其他设备之间的点对点(P2P)事务。虽然大多数CMB规范已在最新的上游内核中实现,但CMB Write Data尚未实现。CMB的问题在于它提供了非常少的内存用于这些P2P事务。这是迄今为止没有人在上游实现此功能的原因之一。但是,您可以通过用户空间NVMe驱动程序/框架SPDK来使用它。

还要注意,有一个名为Persistent Memory Region的新NVMe规范特性。它具有更多可用的内存,我认为不久的将来会有人将其贡献到上游。

https://www.flashmemorysummit.com/English/Collaterals/Proceedings/2018/20180808_SOFT-201-1_Bates.pdf是有用的背景材料。


网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接