Jon Mason wrote: > There is a sizable performance boost for having the largest possible > maximum payload size on each PCI-E device. However, the maximum payload > size must be uniform on a given PCI-E fabric, and each device, bridge, > and root port can have a different max size. To find and configure the > optimal MPS settings, one must walk the fabric and determine the largest > MPS available on all the devices on the given fabric. So you are basically telling me that if I have one device that only can do 128 byte no other device can do more? Even if I don't do device2device transfers? That's odd. Not only have I worked with such configurations on many boards for years, but it basically renders that totally useless as all motherboards I got my fingers on have on-chip devices that only support 128 bytes. Or did you mean this must be uniform on one bus (since every physical slot has usually it's own bus)? > + if (dev->is_hotplug_bridge) > + smpss = 0; > + > + if (*smpss > dev->pcie_mpss) > + *smpss = dev->pcie_mpss; > + } The first one is wrong. It must be either "*smpss = 0". How it currently is you only crash the machine with a NULL deref. Eike
Attachment:
signature.asc
Description: This is a digitally signed message part.