Messages in this thread | | | Date | Fri, 9 Jul 2010 08:25:06 -0700 | From | Jesse Barnes <> | Subject | Re: [RFC PATCH 1/1] PCI: skip release and reallocation of io port resources |
| |
On Tue, 06 Jul 2010 17:49:32 -0700 Yinghai Lu <yinghai@kernel.org> wrote:
> On 07/06/2010 04:58 PM, Linus Torvalds wrote: > > On Tue, Jul 6, 2010 at 4:13 PM, Yinghai Lu <yinghai@kernel.org> 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
| |