Re: [PATCH v12 00/19] PCI/P2PDMA: Route peer-to-peer DMA by TLP class

From: Bjorn Helgaas

Date: Tue Nov 03 2026 - 18:37:54 EST


On Tue, Nov 03, 2026 at 10:29:39AM +0200, Leon Romanovsky wrote:
> PCI P2PDMA applies Request and Completion Redirect throughout both paths.
> This misclassifies asymmetric and nested switches, and reports one answer
> for every kind of TLP.
>
> Three ACS controls act on TLP attributes the Requester chooses rather
> than on the topology: Translation Blocking and Direct Translated P2P act on
> a Request's Address Type, and Completion Redirect skips Completions carrying
> Relaxed Ordering.
>
> Evaluate each direction at the path divergence, decide every class from the
> one walk, and treat a client with ATS enabled as translating unless its
> driver declares per-mapping ATS.
>
> This completes the P2PDMA side; dma-buf and mlx5 follow separately.

Is there a one- or two-sentence explainer of why we want this? I'm
thinking in terms of what Linus will want in the merge request: a fix
for something that's broken or some new functionality. It sounds like
this is solving a problem, but I don't know enough to translate the
nitty-gritty details to the higher-level user-visible problem or
feature.