Re: [PATCH 08/14] pci: update bridge res to get more big range in pci assign unssign

From: Bjorn Helgaas
Date: Fri Jan 15 2010 - 16:34:15 EST


On Friday 15 January 2010 02:12:39 pm Yinghai Lu wrote:
> On 01/15/2010 11:12 AM, Jesse Barnes wrote:
> > On Tue, 22 Dec 2009 15:02:28 -0800
> > Yinghai Lu <yinghai@xxxxxxxxxx> wrote:
> >
> >> BIOS separate IO range between several IOHs, and on some slots, BIOS
> >> assign the resource to the bridge, but stop assigning resource to the
> >> device under that bridge, because the device need big resource.
> >>
> >> 1. pci assign unassign and record the failed device resource.
> >> 2. clear the BIOS assigned resource of the parent bridge of fail
> >> device 3. go back and call pci assign unsigned
> >> 4. if it still fail, will go up more bridges. and clear and try again.
> >>
> >> use pci_try_num to control back track bridge levels.
> >>
> >> -v2: update it with resource_list_x
> >> -v3: make pci_try_num default to 1. and when pci_try_num is set to
> >> more than 1 will check it with max_depth, and adjust that to make
> >> sure it is bigger enough
> >
> > I really don't like the 'try' argument. Either we can assign the
> > resource or not; 'try=' just makes the whole thing scarier, as if we
> > expect problems if we release too many resources. If that's the case,
> > then the whole approach must be flawed, since it means we're not taking
> > into account some resources, or we're missing something about the
> > system configuration.
>
> before this patchset, acctually try = 1, and will not touch pci bridge resource if that are assigned by BIOS.
>
> with this patchset, try = 1, will just like the old ways.
> try = 2, it will find the deepest bridge, and increase the try.

I think Jesse understands how this works.

My opinion is that it's just an unacceptable user interface. We
can't tell users "boot Linux, if it doesn't work boot with 'try=1',
if *that* doesn't work boot with 'try=2', etc." That just makes
us look stupid, IMHO.

Bjorn
--
To unsubscribe from this list: send the line "unsubscribe linux-kernel" in
the body of a message to majordomo@xxxxxxxxxxxxxxx
More majordomo info at http://vger.kernel.org/majordomo-info.html
Please read the FAQ at http://www.tux.org/lkml/