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-next" in the body of a message to majordomo@xxxxxxxxxxxxxxx More majordomo info at http://vger.kernel.org/majordomo-info.html