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
