Linux 5.4 To Support NVMe-of P2P Support With Compatible Systems
Sent in and already landed on Monday were the PCI changes for Linux 5.4 and includes an interesting feature addition.
With the Linux 5.4 PCI code is support for handling peer-to-peer (P2P) DMA between root ports for whitelisted bridges. This work allows for NVMe over Fabrics (NVMe-of) P2P support to transfer data between devices while bypassing any switching on the root complexes.
The peer-to-peer data transfer performance has the potential obviously for performance/efficiency gains, but it doesn't work nicely on all systems. AMD Zen-based systems though are "lucky" in that they do work well while on the Intel side is a more selective whitelist for compatible bridges. The Intel chipsets with 0x3c00, 0x3c01, 0x2f00, and 0x2f01 are whitelisted in Linux 5.4 for knowing to work well with the P2P requests. Additional hardware will be added when it's been tested and confirmed to work well.
More details from the PCI pull request.
With the Linux 5.4 PCI code is support for handling peer-to-peer (P2P) DMA between root ports for whitelisted bridges. This work allows for NVMe over Fabrics (NVMe-of) P2P support to transfer data between devices while bypassing any switching on the root complexes.
The peer-to-peer data transfer performance has the potential obviously for performance/efficiency gains, but it doesn't work nicely on all systems. AMD Zen-based systems though are "lucky" in that they do work well while on the Intel side is a more selective whitelist for compatible bridges. The Intel chipsets with 0x3c00, 0x3c01, 0x2f00, and 0x2f01 are whitelisted in Linux 5.4 for knowing to work well with the P2P requests. Additional hardware will be added when it's been tested and confirmed to work well.
More details from the PCI pull request.
8 Comments