From: Jesse Barnes <jbarnes@virtuousgeek.org>
To: Yinghai Lu <yinghai@kernel.org>
Cc: Linus Torvalds <torvalds@linux-foundation.org>,
Ram Pai <linuxram@us.ibm.com>,
linux-pci@vger.kernel.org, linux-kernel@vger.kernel.org,
clemens@ladisch.de
Subject: Re: [RFC PATCH 1/1] PCI: skip release and reallocation of io port resources
Date: Fri, 9 Jul 2010 08:25:06 -0700 [thread overview]
Message-ID: <20100709082506.514f64ab@virtuousgeek.org> (raw)
In-Reply-To: <4C33CF1C.7020803@kernel.org>
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
next prev parent reply other threads:[~2010-07-09 15:25 UTC|newest]
Thread overview: 15+ messages / expand[flat|nested] mbox.gz Atom feed top
2010-06-30 21:15 [RFC PATCH 1/1] PCI: skip release and reallocation of io port resources Ram Pai
2010-06-30 22:59 ` Yinghai Lu
2010-06-30 23:10 ` Linus Torvalds
2010-06-30 23:59 ` Ram Pai
2010-07-02 21:35 ` Jesse Barnes
2010-07-06 23:13 ` Yinghai Lu
2010-07-06 23:58 ` Linus Torvalds
2010-07-07 0:49 ` Yinghai Lu
2010-07-07 4:28 ` Andrew Hendry
2010-07-07 18:35 ` Jesse Barnes
2010-07-07 18:55 ` Suresh Siddha
2010-07-08 13:26 ` Andrew Hendry
2010-07-09 15:25 ` Jesse Barnes [this message]
2010-07-09 15:50 ` Bjorn Helgaas
2010-07-09 16:00 ` Jesse Barnes
Reply instructions:
You may reply publicly to this message via plain-text email
using any one of the following methods:
* Save the following mbox file, import it into your mail client,
and reply-to-all from there: mbox
Avoid top-posting and favor interleaved quoting:
https://en.wikipedia.org/wiki/Posting_style#Interleaved_style
* Reply using the --to, --cc, and --in-reply-to
switches of git-send-email(1):
git send-email \
--in-reply-to=20100709082506.514f64ab@virtuousgeek.org \
--to=jbarnes@virtuousgeek.org \
--cc=clemens@ladisch.de \
--cc=linux-kernel@vger.kernel.org \
--cc=linux-pci@vger.kernel.org \
--cc=linuxram@us.ibm.com \
--cc=torvalds@linux-foundation.org \
--cc=yinghai@kernel.org \
/path/to/YOUR_REPLY
https://kernel.org/pub/software/scm/git/docs/git-send-email.html
* If your mail client supports setting the In-Reply-To header
via mailto: links, try the mailto: link
Be sure your reply has a Subject: header at the top and a blank line
before the message body.
This is an external index of several public inboxes,
see mirroring instructions on how to clone and mirror
all data and code used by this external index.