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