> Peer-to-Peer DMA (P2PDMA) between two devices requires either a shared > upstream bridge or a host bridge matching pci_p2pdma_whitelist[]. In > VMware guests, passthrough devices appear directly on virtual root > buses without host bridge devices. In Hyper-V guests, each passthrough > device appears in a PCI domain of its own without a host bridge > device. Consequently, P2PDMA checks evaluate endpoint Device IDs > against the host bridge whitelist, causing P2PDMA requests to fail > regardless of host support. > > This affects discrete devices such as GPUs, NICs and NVMe drives. > > Add an explicit list of the Intel Xeon server generations from > Skylake-SP to Diamond Rapids to cpu_supports_p2pdma(). These are the > CPUs whose host bridges are in pci_p2pdma_whitelist[] without > restrictions. AMD Zen and newer are already covered by > cpu_supports_p2pdma(), so only Intel entries are needed. > > Tested with the Intel Level Zero P2P benchmark (ze_peer) on Arc Pro B60 > cards in a Linux guest on VMware ESXi 9.0 (Emerald Rapids host). > > Signed-off-by: Pavel Popov <[email protected]>
Sashiko has reviewed this patch and found no issues. -- Sashiko AI review ยท https://sashiko.dev/#/patchset/[email protected]?part=2
