All of lore.kernel.org
 help / color / mirror / Atom feed
From: Andrew Morton <akpm@linux-foundation.org>
To: "John W. Linville" <linville@tuxdriver.com>
Cc: Dave Jones <davej@redhat.com>,
	Linux Kernel <linux-kernel@vger.kernel.org>
Subject: Re: allocation failure in b43/ssb
Date: Tue, 11 Nov 2008 00:06:52 -0800	[thread overview]
Message-ID: <20081111000652.f581671b.akpm@linux-foundation.org> (raw)
In-Reply-To: <20081107195403.GD3546@tuxdriver.com>

On Fri, 7 Nov 2008 14:54:03 -0500 "John W. Linville" <linville@tuxdriver.com> wrote:

> On Fri, Nov 07, 2008 at 02:09:44PM -0500, Dave Jones wrote:
> > We just had a report from a user who spotted a bunch of messages
> > of the form below in his logs..
> 
> <snip>
> 
> > The kernel is a little old (2.6.26).
> > 
> > Looking at it though, I'm puzzled..
> > 
> > It seems we failed to allocate an order-1 allocation, even though
> > we had memory available in the DMA and normal zones.
> > 
> > What am I missing?
> > 
> > Full logs at https://bugzilla.redhat.com/attachment.cgi?id=322882
> 
> Most of those traces look a little scrambled, but as best as I can
> tell that call to setup_rx_descbuffer comes from dma_rx.  That means
> that the call to __dev_alloc_skb is done with GFP_ATOMIC.  I don't
> know if that factors into the answer to what is happening or not.
> 

It does.  If there were not any two physically-contiguous free pages in
the page allocator reserves, __alloc_pages() will not be able to
satisfy that order-1 allocation request.

You can have plenty of free memory, but if it's all fragmented,
non-order-0 atomic allocations can still fail.

GFP_KERNEL allocations can run page reclaim to _make_ the allocation
request succeed in this situation.


      reply	other threads:[~2008-11-11  8:07 UTC|newest]

Thread overview: 3+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2008-11-07 19:09 allocation failure in b43/ssb Dave Jones
2008-11-07 19:54 ` John W. Linville
2008-11-11  8:06   ` Andrew Morton [this message]

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=20081111000652.f581671b.akpm@linux-foundation.org \
    --to=akpm@linux-foundation.org \
    --cc=davej@redhat.com \
    --cc=linux-kernel@vger.kernel.org \
    --cc=linville@tuxdriver.com \
    /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.