> 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. 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. > > The P2PDMA host bridge check does not work in a VMware guest. Bypass it > for host CPUs whose host bridges are in pci_p2pdma_whitelist[] without > restrictions. The list covers the Intel Xeon server generations from > Skylake-SP to Diamond Rapids. 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=1
