Re: WARNING: at mm/page_alloc.c:1159get_page_from_freelist+0x325/0x655()

From: Ingo Molnar
Date: Wed Jun 17 2009 - 12:53:24 EST



* Linus Torvalds <torvalds@xxxxxxxxxxxxxxxxxxxx> wrote:

> On Wed, 17 Jun 2009, Ingo Molnar wrote:
> >
> > a new warning started popping up today, in the new page allocator
> > code. The allocation came from kmemleak:
>
> We should probably print out the order.
>
> Right now it warns about any order but 0, and I think that's
> likely bogus. It's fine to allow small orders (I'd suggest 0-2),
> since we should always be able to get those, and small kmalloc's
> generally do want more than one page just to avoid crazy
> fragmentation issues.
>
> See, for example, the whole 'slab_break_gfp_order' logic in
> mm/slab.c: it very much expects to be able to use order-1
> allocations for kmalloc() if there is enough memory (where
> "enough" is actually just 32MB). And slub seems to put some limit
> at PAGE_ALLOC_COSTLY_ORDER (3).
>
> So apart from anything else (ie this particular case is possibly
> fixable in kmemleak), I do think that we should likely allow at
> least order-1 and possible order-2 allocations with __GFP_NOFAIL
> too.

I saw about half a dozen of different warning patterns during the
day, so the warning definitely feels a bit over-eager.

Ingo
--
To unsubscribe from this list: send the line "unsubscribe linux-kernel" in
the body of a message to majordomo@xxxxxxxxxxxxxxx
More majordomo info at http://vger.kernel.org/majordomo-info.html
Please read the FAQ at http://www.tux.org/lkml/