All of lore.kernel.org
 help / color / mirror / Atom feed
From: Gary Hade <garyhade@us.ibm.com>
To: "Jun'ichi Nomura" <j-nomura@ce.jp.nec.com>
Cc: Gary Hade <garyhade@us.ibm.com>,
	linux-kernel@vger.kernel.org, linux-pci@atrey.karlin.mff.cuni.cz,
	Greg KH <gregkh@suse.de>,
	jbeulich@novell.com
Subject: Re: [PATCH] pci: Omit error message for benign allocation failure
Date: Tue, 4 Dec 2007 17:45:06 -0800	[thread overview]
Message-ID: <20071205014506.GA6034@us.ibm.com> (raw)
In-Reply-To: <4755E174.7040106@ce.jp.nec.com>

On Tue, Dec 04, 2007 at 06:23:32PM -0500, Jun'ichi Nomura wrote:
> Hi Gary,
> 
> Gary Hade wrote:
> > On Tue, Dec 04, 2007 at 02:35:48PM -0500, Jun'ichi Nomura wrote:
> >> On a system with PCI-to-PCI bridges, following errors are observed:
> >>
> >> PCI: Failed to allocate mem resource #8:100000@d8200000 for 0000:02:00.0
> >> PCI: Failed to allocate mem resource #6:10000@0 for 0000:03:01.0
> >>
> >> '#6' is for expansion ROM and '#8' for the bridge where the device
> >> with the expansion ROM is connected.
> > 
> > I believe there is a good chance that may be another instance
> > of the regression caused by my "Avoid creating P2P prefetch
> > window for expansion ROMs" patch that was recently reported by
> > Jan Beulich.
> >   http://marc.info/?l=linux-kernel&m=119555581103023&w=2
> 
> Sorry, I was not clear about that.
> I've seen the above errors even with 2.6.22 and RHEL5, which is
> based on 2.6.18.
> So it's not a regression.

Thats a relief.  Jan's report was embarrassing enough. :)

> 
> > I am working on a better fix for the problem that the patch
> > was attempting to address but this is turning out to be much
> > more difficult than I expected.  If I don't have a solution
> > very soon I plan to publish a revert patch.
> > 
> >> But I think the failure is benign because the allocation is
> >> not necessary for these resources.
> > 
> > This is an interesting idea.  Could you elaborate?  As far
> > as I can tell, the kernel always tries to allocate memory
> > for expansion ROMs which it also exports to user level.
> 
> Kernel always tries to. But it's best effort basis, IMO.
> (Maybe your patch is going to fix that?)

If you are seeing the allocation failures both with and
without my original patch I doubt that an improved version
would work.  In my case, the BIOS had allowed sufficient
resource for the expansion ROMs but was expecting the kernel
to get it from the non-prefetch instead of prefetch window.
In your case, it sounds like there just isn't enough resource
available for expansion ROMs from either window.

> In the 1st stage (pcibios_allocate_resources, etc.),
> it allocates resources based on PCI configuration provided by BIOS,
> except for expansion ROMs.
> In the 2nd stage (pci_assign_unassigned_resources, etc.),
> it allocates resources for unallocated ones including expansion ROMs.
> The 2nd stage doesn't reprogram the bridge settings.
> So if the expansion ROM is under the bridge where other resource
> is already allocated, the allocation failure occurs.
> There are comments in drivers/pci/setup-bus.c:
>   /* Helper function for sizing routines: find first available
>      bus resource of a given type. Note: we intentionally skip
>      the bus resources which have already been assigned (that is,
>      have non-NULL parent resource). */
> 
> Fixing the above might be a better solution.

Like I said above, I doubt that an improved version of my fix
would help your situation.

> But I don't know if there are any users who need it.
> 
> > I have assumed that some drivers or user level apps may
> > need to access this space.  Is this not true?
> 
> I haven't heard of applications which depend on the kernel resource
> allocation for expansion ROMs.
> X is a big user of expansion ROMs but I heard it solves the resource
> conflict itself.
> If there is a counter example, I would like to know it.

Me too. 

Thanks,
Gary

-- 
Gary Hade
System x Enablement
IBM Linux Technology Center
503-578-4503  IBM T/L: 775-4503
garyhade@us.ibm.com
http://www.ibm.com/linux/ltc


  reply	other threads:[~2007-12-05  1:45 UTC|newest]

Thread overview: 6+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2007-12-04 19:35 [PATCH] pci: Omit error message for benign allocation failure Jun'ichi Nomura
2007-12-04 21:49 ` Gary Hade
2007-12-04 23:23   ` Jun'ichi Nomura
2007-12-05  1:45     ` Gary Hade [this message]
2007-12-05 15:18       ` Jun'ichi Nomura
2007-12-05 22:47         ` Gary Hade

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=20071205014506.GA6034@us.ibm.com \
    --to=garyhade@us.ibm.com \
    --cc=gregkh@suse.de \
    --cc=j-nomura@ce.jp.nec.com \
    --cc=jbeulich@novell.com \
    --cc=linux-kernel@vger.kernel.org \
    --cc=linux-pci@atrey.karlin.mff.cuni.cz \
    /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.