On Tue, 06 Jul 2010 17:49:32 -0700 Yinghai Lu <yinghai@xxxxxxxxxx> wrote: > On 07/06/2010 04:58 PM, Linus Torvalds wrote: > > On Tue, Jul 6, 2010 at 4:13 PM, Yinghai Lu <yinghai@xxxxxxxxxx> wrote: > >> > >> So you want to use pci=override_bios to reallocate all bios assigned resource include > >> peer root buses resources and pci bridge resource and pci devices BAR? > > > > In a perfect world, we'd never need this at all, but sicne that's not > > an option, the second-best alternative might be something like the > > following: > > > > pci=override=off # default > > pci=override=conflict # override only on conflicts > > pci=override=<device> # clear BIOS allocations for <device> (and any > > children, if it's a bus) > > current: > if there is conflict, like pci bridge resources or pci devices resources is not in the scope of peer root bus resource range. > or pci devices is not in pci bridge resources range. > kernel would reject the resource and try to get new range in parent resource for the children. > > so current default is overriding the conflicts already. > > Maybe your conflicts have other meaning? like pci bridge resource size is not big enough? > > or we can have use > > pci=override=small_bridge > > or > > pci=override=bridges > > instead? Changing the default (and fairly old) behavior at this point will probably cause a lot of trouble; we have machines where reallocating conflicting or apparently mis-programmed resources is needed. But we can still add the pci=override= option. Your patch will need some changes though; a user needing a specific bus/bridge reallocated can just pass the bridge id. And rather than walking its way up, freeing and trying to re-allocate, it could just free everything below the given device and let the normal paths allocate it. -- Jesse Barnes, Intel Open Source Technology Center -- 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