On Wed, May 23, 2012 at 01:53:10PM -0700, Yinghai Lu wrote: > 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. expess has this too. It just needs a bigger hierarchy: upsteam ports can have many downstream ports behind them. > 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 I saw some docs on the net but do not have them handy. Google it. -- 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