Re: [RFC] PCI: Change default MPS behavior

From: Keith Busch
Date: Wed Dec 07 2016 - 14:05:15 EST


On Tue, Dec 06, 2016 at 07:20:27PM -0500, Jon Mason wrote:
> Not all systems have a BIOS or firmware to preconfigure the PCIE MPS
> prior to Linux booting. Without any firmware to pre-setup the MPS, the
> PCIE_BUS_DEFAULT will simply set everything to 0 (128b). This behavior
> causes these systems to have non-optimal MPS values. To get around this
> issue, change the default value of pcie_bus_config to be PCIE_BUS_SAFE.
> This configures all systems to use better values for the MPS, at the
> expense of any potential HW errata that might not like being changed.

Wouldn't it be better to provide the kernel parameter to override the
default on such platforms? The PCIE_BUS_SAFE sets the MPS to the lowest
common denominator below the root port, which may be less optimal than
the default behavior for hot plug.