On Wed, May 1, 2019 at 9:04 AM Keith Busch <kbusch@xxxxxxxxxx> wrote: > > Note that Max Payload Size may not be the same across root ports, > so splitting transactions may be the correct thing to do under some > circumstances. Kernel parameter "pci=pcie_bus_peer2peer" should make > all MPS settings the same, though I doubt that will help for the > hardware desribed here. This is an interesting point which I had not considered before. The TLPs coming directly from the NVMe drive are on a MaxPayLoad path of 256 bytes. When the TLPs get relayed from the Host Bridge, the originating Host Bridge (BDF=00:00.0) has a MaxPayload of 128 bytes. So, perhaps understandable that the TLPs would get broken up, although going from 256 bytes to 1 byte TLPs is rather extreme, but perhaps that's how this bridge deals with it. Thanks, Eric