Re: [RFC PATCH] iommu/arm-smmu-v3: Allow nested attach for PCI bridges without vDEVICE

From: Pranjal Shrivastava

Date: Mon Aug 17 2026 - 07:18:39 EST


On Mon, Aug 17, 2026 at 09:29:10AM +0000, Dmitry Malkin wrote:
> > Don't use it that way?
>
> Why not? We use pci=config_acs to configure ACS at kernel startup and
> enable direct PCIe peer-to-peer traffic between GPUs and NICs. All
> affected devices are assigned to the same VM and IOMMU domain, which
> also reduces the memory footprint by reducing the number of page tables
> and lowers IOTLB pressure.
>

I'll defer the debate of enabling ACS or not OR supporting multi-device
groups for vIOMMU for a moment.

But, regarding PCI P2PDMA, you can still enable it with ACS enabled in
the upstream kernel *IF* your hardware supports TLP forwarding between
root ports.

When ACS is enabled, all TLPs get forwarded to the host's Root Ports
instead of getting routed directly through the switch. All that needs to
be done is to add an entry of your hardware to the whitelist in p2pdma.c
(pci_p2pdma_whitelist). Are you aware if your HW supports this? If yes,
then a simple addition like [1] should work.

Thanks,
Praan

[1] https://lore.kernel.org/all/20260409150123.3538444-2-jmoroni@xxxxxxxxxx/