Re: [PATCH v9 02/18] PCI/P2PDMA: Derive routing from directional ACS controls
From: Jason Gunthorpe
Date: Fri Oct 23 2026 - 18:02:21 EST
On Fri, Oct 23, 2026 at 03:15:31PM -0500, Bjorn Helgaas wrote:
> On Fri, Oct 23, 2026 at 04:00:36PM -0300, Jason Gunthorpe wrote:
> > On Fri, Oct 23, 2026 at 01:27:15PM -0500, Bjorn Helgaas wrote:
> >
> > > > Yes, the ACS combination is selected to avoid ordering issues
> > >
> > > Does a user have any way to know whether the configuration is safe?
> >
> > No, unfortunately in PCIe so much is really difficult when it comes to
> > deployment :(
> >
> > > I'm wondering whether users might use "pci=config_acs=" to configure
> > > ACS so things appear to work as they prefer but may not provide the
> > > ordering guarantees drivers depend on.
> >
> > I imagine that could happen, but on most practical systems the root
> > complex will blow up if you do asymmetric routing so there is an early
> > indication.
> >
> > I know this because I've help debug such configurations at
> > customers. Some servers helpfully MCE if you do this. Lovely.
>
> I'm still confused about this because earlier in this thread, I
> thought Leon said you do asymmetric routing:
>
> Bjorn> And I guess asymmetric fabrics must mean fabrics where
> Bjorn> Request Redirect and Completion Redirect are not set the same
> Bjorn> way?
>
> Leon> Yes, in some of our systems, deviceA to deviceB is going
> Leon> through different route than deviceB to deviceA.
Yeah, that's what I clarifed, it isn't quite accurate. The asymetric
routing is between Strict Order and Relaxed Order TLPs, not
request/response.
Jason