On Tue, 3 Jul 2012 21:06:53 -0700 Yinghai Lu <yinghai@xxxxxxxxxx> wrote: > On Tue, Jul 3, 2012 at 8:16 PM, Taku Izumi <izumi.taku@xxxxxxxxxxxxxx> wrote: > > > > Currently I/O ports and I/O memory resources are reserved for > > hotplug bridges and we can tune their size by using hpiosize > > and hpmemsize boot option. > > > > This patch extends feature so that we can reserve additional > > bus number resources for hotplug bridges and tune it by > > using "hpbussize" option. > > > > Signed-off-by: Taku Izumi <izumi.taku@xxxxxxxxxxxxxx> > > --- > > Documentation/kernel-parameters.txt | 4 ++++ > > drivers/pci/pci.c | 6 +++++- > > drivers/pci/probe.c | 4 ++++ > > include/linux/pci.h | 1 + > > 4 files changed, 14 insertions(+), 1 deletion(-) > > > > Index: linux/drivers/pci/pci.c > > =================================================================== > > --- linux.orig/drivers/pci/pci.c 2012-06-26 14:37:22.000000000 +0900 > > +++ linux/drivers/pci/pci.c 2012-07-04 10:00:50.708002757 +0900 > > @@ -74,9 +74,11 @@ unsigned long pci_cardbus_mem_size = DEF > > > > #define DEFAULT_HOTPLUG_IO_SIZE (256) > > #define DEFAULT_HOTPLUG_MEM_SIZE (2*1024*1024) > > -/* pci=hpmemsize=nnM,hpiosize=nn can override this */ > > +#define DEFAULT_HOTPLUG_BUS_SIZE (0) > > +/* pci=hpmemsize=nnM,hpiosize=nn,hpbussize=n can override this */ > > unsigned long pci_hotplug_io_size = DEFAULT_HOTPLUG_IO_SIZE; > > unsigned long pci_hotplug_mem_size = DEFAULT_HOTPLUG_MEM_SIZE; > > +unsigned int pci_hotplug_bus_size = DEFAULT_HOTPLUG_BUS_SIZE; > > > > enum pcie_bus_config_types pcie_bus_config = PCIE_BUS_TUNE_OFF; > > > > @@ -4022,6 +4024,8 @@ static int __init pci_setup(char *str) > > pci_hotplug_io_size = memparse(str + 9, &str); > > } else if (!strncmp(str, "hpmemsize=", 10)) { > > pci_hotplug_mem_size = memparse(str + 10, &str); > > + } else if (!strncmp(str, "hpbussize=", 10)) { > > + pci_hotplug_bus_size = memparse(str + 10, &str); > > } else if (!strncmp(str, "pcie_bus_tune_off", 17)) { > > pcie_bus_config = PCIE_BUS_TUNE_OFF; > > } else if (!strncmp(str, "pcie_bus_safe", 13)) { > > Index: linux/drivers/pci/probe.c > > =================================================================== > > --- linux.orig/drivers/pci/probe.c 2012-06-26 14:37:22.000000000 +0900 > > +++ linux/drivers/pci/probe.c 2012-07-04 10:00:50.718002632 +0900 > > @@ -867,6 +867,10 @@ int __devinit pci_scan_bridge(struct pci > > /* > > * Set the subordinate bus number to its real value. > > */ > > + if (dev->is_hotplug_bridge) { > > + if (max + pci_hotplug_bus_size < child->busn_res.end) > > + max += pci_hotplug_bus_size; > > + } > > again, that adding is not safe. > > please drop this one now. > > or you can prepare one against busn_alloc and I put new version in the > busn_alloc branch. OK, I'll do it. Best regards, Taku Izumi <izumi.taku@xxxxxxxxxxxxxx> -- To unsubscribe from this list: send the line "unsubscribe linux-pci" in the body of a message to majordomo@xxxxxxxxxxxxxxx More majordomo info at http://vger.kernel.org/majordomo-info.html