Skip to content

The coprocessor's PCIe relaxed ordering and no-snoop, cleared by the driver, 2026-10-25

748: an XGS 107 moved about a megabit a second, with whole seconds of nothing, and its driver counted 202,606 of 2,971,077 received frames as malformed - a receive descriptor whose producer index said it was filled still held the watermark the driver stamps into it before handing it over. The ARMADA coprocessor's firmware leaves Relaxed Ordering and No Snoop enabled in its PCI Express Device Control, which lets it mark its writes into host memory either way; with relaxed ordering a host may see the write that says a descriptor is filled before the write that fills it. The 107's owner cleared the two bits by hand with pciconf -w, and malformed stopped - 146,019 before and after, with 161,389 frames received in between. The setting went back at the next boot, as the register is the host's and the firmware sets it again.

The whole page, with how it was taken and what it does not show: The coprocessor's PCIe relaxed ordering and no-snoop, cleared by the driver, 2026-10-25.

Discussion

The discussion of this page is held in the project's GitHub Discussions. Showing it here loads giscus from giscus.app and GitHub, and writing in it needs a GitHub account - what that means.