Re: slab: setup allocators earlier in the boot sequence

From: Pekka Enberg
Date: Fri Jun 12 2009 - 10:04:35 EST


Hi Ben,

On Sat, 2009-06-13 at 00:02 +1000, Benjamin Herrenschmidt wrote:
> On Fri, 2009-06-12 at 16:54 +0300, Pekka Enberg wrote:
> > Hi Christoph,
> >
> > On Fri, 2009-06-12 at 09:49 -0400, Christoph Lameter wrote:
> > > Best thing to do is to recognize the fact that we are still in early boot
> > > in the allocators. Derived allocators (such as slab and vmalloc) mask bits
> > > using GFP_RECLAIM_MASK and when doing allocations through the page
> > > allocator. You could make GFP_RECLAIM_MASK a variable. During boot
> > > __GFP_WAIT would not be set in GFP_RECLAIM_MASK.
> >
> > Ben's patch does something like that and I have patches that do that
> > floating around too.
> >
> > The problem here is that it's not enough that we make GFP_RECLAIM_MASK a
> > variable. There are various _debugging checks_ that happen much earlier
> > than that. We need to mask out those too which adds overhead to
> > kmalloc() fastpath, for example.
>
> Hrm... I though I stuck my masking before the lockdep tests but maybe I
> missed some...

Your patch is fine but what Christoph suggested is not (at least the way
I understood it).

Pekka

--
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/