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-pci" in the body of a message to majordomo@xxxxxxxxxxxxxxx More majordomo info at http://vger.kernel.org/majordomo-info.html