On Wed, May 23, 2012 at 12:08 PM, Michael S. Tsirkin <mst@xxxxxxxxxx> wrote: > Fundamentally BARs are under guest control. > So while you are handing out memory for the bridges you would have to > tiptoe around guest assigned BARs. > > Also what happens after reboot? bios currently > assigns memory to bridges that are present on boot. > So this makes it even messier as who assigns memory > depends on whether device is hotplugged. > > Cleaner to have guest do it. assume here "guest' mean: BIOS + kernel + (acpi dsl code from BIOS). > > I think Windows even can even rebalance BARs > as needed. So this is just a linux bug that needs > to be fixed. Now pciehp in Linux will resize the bridge. but not for acpiphp. reason: acpiphp could handle more complicated case. does not mean new add card have to been under one bridge existing. slot just on root bus, you could just add device or bridge in it. and the bridge could have other hotlpug slots. in that case, if one of children slot already have card installed/driver loaded, later after another card is put in another child slot, we can not simple resize the bridge in parent slot. because other child devices is operating... solution will be 1. add quirks to set is_hotplug_bridge for apciphp.... 2. or probe_resource in busn_alloc patchset, that maybe still need to extend to support alignment. BTW, I was thinking Linux is the ONLY one that will scratch bridge BAR if that is big enough for children devices. Do you have evidence that other os does that? Yinghai -- 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