Received: (majordomo@vger.kernel.org) by vger.kernel.org via listexpand id S1758491Ab0AOVen (ORCPT ); Fri, 15 Jan 2010 16:34:43 -0500 Received: (majordomo@vger.kernel.org) by vger.kernel.org id S1758413Ab0AOVem (ORCPT ); Fri, 15 Jan 2010 16:34:42 -0500 Received: from outbound-mail-313.bluehost.com ([67.222.54.6]:45326 "HELO outbound-mail-313.bluehost.com" rhost-flags-OK-OK-OK-OK) by vger.kernel.org with SMTP id S1758406Ab0AOVem (ORCPT ); Fri, 15 Jan 2010 16:34:42 -0500 DomainKey-Signature: a=rsa-sha1; q=dns; c=nofws; s=default; d=virtuousgeek.org; h=Received:Date:From:To:Cc:Subject:Message-ID:In-Reply-To:References:X-Mailer:Mime-Version:Content-Type:Content-Transfer-Encoding:X-Identified-User; b=rtMQ/7r7WurHoTjGVW2Blc2NWFBllCIOCw5SOSelO1AtUo7zPWQe6sTNmxHNayh8JKidRzpguvHaPxEQ4C48fvReZjYx6T5eWMUfkhI3x+exRL54MRydpIRWFvUL5ow7; Date: Fri, 15 Jan 2010 13:34:41 -0800 From: Jesse Barnes To: Yinghai Lu Cc: Ingo Molnar , Linus Torvalds , Ivan Kokshaysky , Kenji Kaneshige , Alex Chiang , Bjorn Helgaas , linux-kernel@vger.kernel.org, linux-pci@vger.kernel.org Subject: Re: [PATCH 08/14] pci: update bridge res to get more big range in pci assign unssign Message-ID: <20100115133441.69fc551d@jbarnes-piketon> In-Reply-To: <4B50DA47.80800@kernel.org> References: <1261522954-12591-1-git-send-email-yinghai@kernel.org> <1261522954-12591-9-git-send-email-yinghai@kernel.org> <20100115111254.1f9d66a3@jbarnes-piketon> <4B50DA47.80800@kernel.org> X-Mailer: Claws Mail 3.7.2 (GTK+ 2.18.3; x86_64-pc-linux-gnu) Mime-Version: 1.0 Content-Type: text/plain; charset=US-ASCII Content-Transfer-Encoding: 7bit X-Identified-User: {10642:box514.bluehost.com:virtuous:virtuousgeek.org} {sentby:smtp auth 75.111.28.251 authed with jbarnes@virtuousgeek.org} Sender: linux-kernel-owner@vger.kernel.org List-ID: X-Mailing-List: linux-kernel@vger.kernel.org On Fri, 15 Jan 2010 13:12:39 -0800 Yinghai Lu wrote: > On 01/15/2010 11:12 AM, Jesse Barnes wrote: > > On Tue, 22 Dec 2009 15:02:28 -0800 > > Yinghai Lu 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. Yeah, I know what it's supposed to do, I just don't like it in principle. We should be getting this right in the first place, not providing the user magical options. For debugging maybe it's ok, but it should at least be called pci_reassign_depth= or something instead to make it clear. I guess the options would be =leaf, =, or =top? -- Jesse Barnes, Intel Open Source Technology Center -- To unsubscribe from this list: send the line "unsubscribe linux-kernel" in the body of a message to majordomo@vger.kernel.org More majordomo info at http://vger.kernel.org/majordomo-info.html Please read the FAQ at http://www.tux.org/lkml/