PCI Peer-To-Peer Support Merged For Linux 4.20~5.0
The recently covered PCI peer-to-peer memory support for the Linux kernel has indeed landed for the 4.20~5.0 kernel cycle. This is about PCI Express devices supporting peer-to-peer DMA that can bypass the system memory and processor via a standardized interface.
The use-case this Linux PCIe P2P memory support was developed for is for copy offloading for NVMe fabrics so data can go directly from an RDMA NIC and copied to the PCIe NVMe SSD storage. There are also implications for multi-GPU systems with this code -- more on the multi-GPU peer-to-peer memory support was discussed in the comments.
The PCI updates for this next kernel cycle add this peer-to-peer DMA group, a sysfs interface for the memory statistics, various helpers, and also programming documentation. There is also support within the nvme-pci driver now as well for handling P2P memory requests.
The PCI subsystem updates also have some Active State Power Management (ASPM) fixes, i.MX6/i.MX7 improvements, many Keystone changes, and many other code updates and fixes. The complete list of the PCI changes for this merge window can be found here.
The use-case this Linux PCIe P2P memory support was developed for is for copy offloading for NVMe fabrics so data can go directly from an RDMA NIC and copied to the PCIe NVMe SSD storage. There are also implications for multi-GPU systems with this code -- more on the multi-GPU peer-to-peer memory support was discussed in the comments.
The PCI updates for this next kernel cycle add this peer-to-peer DMA group, a sysfs interface for the memory statistics, various helpers, and also programming documentation. There is also support within the nvme-pci driver now as well for handling P2P memory requests.
The PCI subsystem updates also have some Active State Power Management (ASPM) fixes, i.MX6/i.MX7 improvements, many Keystone changes, and many other code updates and fixes. The complete list of the PCI changes for this merge window can be found here.
11 Comments