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.
If that's a possibility, do we have any notes in dmesg that we are depending on fabric behavior that the OS can't discover and verify?
Maybe, it could be interesting if the P2P logic found asymetric paths it refuses to permit it.
It seems like P2PDMA *could* check for asymmetric paths and at least warn about it. If it's practical to do so, it would make me feel a lot better about this.