Re: [GIT PULL v2] Early SLAB fixes for 2.6.31

From: Linus Torvalds
Date: Tue Jun 16 2009 - 15:12:21 EST




On Tue, 16 Jun 2009, Christoph Lameter wrote:

> On Tue, 16 Jun 2009, Benjamin Herrenschmidt wrote:
>
> > On Mon, 2009-06-15 at 13:28 +0200, Nick Piggin wrote:
> > > If a couple of specialised early boot code places have
> > > to test slab_is_available() to prevent crap leaking into
> > > our main allocators, then that's quite fine by me.
> >
> > slab_is_available() will not fix the problem in that case. In fact,
> > existing tests of slab_is_available() have been broken because they
> > assumed that when it was true, then GFP_KERNEL would work.
>
> Can we get rid of slab_is_available for that purpose? AFAICT: There needs
> to be something that tells us that the page allocator is available or that
> the mm subsystem is fully operational.
>
> Could we add more bootup states to enum system_states?

I'd rather get rid of the whole slab_is_available() thing entirely.

All the recent init ordering changes should mean that the slab allocator
is available _much_ earlier - to the point that hopefully any code that
runs before slab is initialized should know very deep down that it's
special, and uses the bootmem allocator without doing any conditionals
what-so-ever.

If that isn't true yet, then we should make it more true.

IOW, we should strive for not having any code that is at all confused
about whether it can do slab allocations or not.

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