Groups | Search | Server Info | Keyboard shortcuts | Login | Register [http] [https] [nntp] [nntps]
Groups > linux.kernel > #1537380 > unrolled thread
| Started by | Jon Mason <jon.mason@broadcom.com> |
|---|---|
| First post | 2016-12-07 01:40 +0100 |
| Last post | 2016-12-07 20:10 +0100 |
| Articles | 2 — 2 participants |
Back to article view | Back to linux.kernel
[RFC] PCI: Change default MPS behavior Jon Mason <jon.mason@broadcom.com> - 2016-12-07 01:40 +0100
Re: [RFC] PCI: Change default MPS behavior Keith Busch <keith.busch@intel.com> - 2016-12-07 20:10 +0100
| From | Jon Mason <jon.mason@broadcom.com> |
|---|---|
| Date | 2016-12-07 01:40 +0100 |
| Subject | [RFC] PCI: Change default MPS behavior |
| Message-ID | <sLyr7-Nn-13@gated-at.bofh.it> |
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. Signed-off-by: Jon Mason <jon.mason@broadcom.com> --- drivers/pci/pci.c | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/drivers/pci/pci.c b/drivers/pci/pci.c index ba34907..94d574e 100644 --- a/drivers/pci/pci.c +++ b/drivers/pci/pci.c @@ -88,7 +88,7 @@ unsigned long pci_hotplug_mem_size = DEFAULT_HOTPLUG_MEM_SIZE; #define DEFAULT_HOTPLUG_BUS_SIZE 1 unsigned long pci_hotplug_bus_size = DEFAULT_HOTPLUG_BUS_SIZE; -enum pcie_bus_config_types pcie_bus_config = PCIE_BUS_DEFAULT; +enum pcie_bus_config_types pcie_bus_config = PCIE_BUS_SAFE; /* * The default CLS is used if arch didn't set CLS explicitly and not -- 2.7.4
[toc] | [next] | [standalone]
| From | Keith Busch <keith.busch@intel.com> |
|---|---|
| Date | 2016-12-07 20:10 +0100 |
| Message-ID | <sLPLj-46c-39@gated-at.bofh.it> |
| In reply to | #1537380 |
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.
[toc] | [prev] | [standalone]
Back to top | Article view | linux.kernel
csiph-web