On Tue, Nov 03, 2026 at 05:37:42PM -0600, Bjorn Helgaas wrote:
> 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.

Not AI; these are my own words with grammar fixes from AI:

"The existing implementation of PCI peer-to-peer assumed that all PCI TLPs were
the same: ordered and carrying untranslated addresses. It did not account for
the variety of traffic types defined by the PCI specification. As a result,
only simple systems supported peer-to-peer transfers in the upstream kernel;
real-world systems required out-of-tree patches and careful platform design.

The new code will allow peer-to-peer transfers between any two devices, for all
types of PCI traffic, as long as the PCI path between them supports
peer-to-peer.

This paves the way for PCI peer-to-peer support in VMs, which the upstream
kernel does not currently support."

BTW:
1. The patch "PCI/P2PDMA: Document the TLP attribute assumptions" attempts to
   explain the current situation.
2. The change is too large to present as a fix.

Thanks

Reply via email to