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. YH -- 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