On Thu, Jan 05, 2023 at 03:43:29PM +0200, Mika Westerberg wrote: > On Thu, Jan 05, 2023 at 11:12:11AM +0200, Mika Westerberg wrote: > > > What happens in a topology like this: > > > > > > 10:00.0 non-hotplug bridge to [bus 20-3f] > > > 10:01.0 non-hotplug bridge to [bus 40] > > > 20:00.0 hotplug bridge > > > 40:00.0 NIC > > > > > > where we're distributing space on "bus" 10, hotplug_bridges == 0 and > > > normal_bridges == 2? Do we give half the extra space to bus 20 and > > > the other half to bus 40, even though we could tell up front that bus > > > 20 is the only place that can actually use any extra space? > > > > Yes we split it into half. > > Forgot to reply also that would it make sense here to look at below the > non-hotplug bridges and if we find hotplug bridges, distribute the space > equally between those or something like that? Yes, I do think ultimately it would make sense to keep track at every bridge whether it or any descendant is a hotplug bridge so we could distribute extra space only to bridges that could potentially use it. But I don't know if that needs to be done in this series. This code is so complicated and fragile that I think being ruthless about defining the minimal problem we're solving and avoiding scope creep will improve our chances of success. So treat this as a question to improve my understanding more than anything. Bjorn