Re: linux-next: build failure after merge of the final tree (slabtree related)

From: David Rientjes
Date: Wed Aug 25 2010 - 23:16:18 EST


On Wed, 25 Aug 2010, Christoph Lameter wrote:

> > > + * Special hack for UP mode. allocpercpu() falls back to kmalloc
> > > + * operations. So we cannot use that before the slab allocator is up
> > > + * Simply get the smallest possible compound page. The page will be
> > > + * released via kfree() when the cpu caches are resized later.
> > > + */
> > > + if (slab_state < UP)
> > > + s->cpu_slab = (__percpu void *)__get_free_page(GFP_NOWAIT, 1);
> >
> > __get_free_pages() takes an order argument.
>
> Right. Patch not refreshed after the last tinzy winzy change. Seems that I
> got a bit rusty.
>
> Subject: Slub: UP bandaid
>
> Since the percpu allocator does not provide early allocation in UP
> mode (only in SMP configurations) use __get_free_page() to improvise
> a compound page allocation that can be later freed via kfree().
>
> Compound pages will be released when the cpu caches are resized.
>
> Signed-off-by: Christoph Lameter <cl@xxxxxxxxx>

Acked-by: David Rientjes <rientjes@xxxxxxxxxx>

I'm really hoping that we can remove this hack soon when the percpu
allocator can handle these allocations on UP without any specialized slab
behavior.
--
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/