kernel BUG in __cache_alloc_node at linux-2.6.git/mm/slab.c:3177!
Christoph Lameter
clameter at sgi.com
Fri Oct 20 03:03:04 EST 2006
I would expect this patch to fix your issues. This will allow fallback
allocations to occur in the page allocator during slab bootstrap. This
means your per node queues will be contaminated as they were before. After
the slab allocator is fully booted then the per node queues will become
gradually become node clean.
I think it would be better if the PPC arch would fix this issue
by either making memory available on node 0 or setting up node 1 as
the boot node.
Signed-off-by: Christoph Lameter <clameter at sgi.com>
Index: linux-2.6.19-rc2-mm1/mm/slab.c
===================================================================
--- linux-2.6.19-rc2-mm1.orig/mm/slab.c 2006-10-19 11:54:24.000000000 -0500
+++ linux-2.6.19-rc2-mm1/mm/slab.c 2006-10-19 11:59:24.208194796 -0500
@@ -1589,7 +1589,10 @@ static void *kmem_getpages(struct kmem_c
* the needed fallback ourselves since we want to serve from our
* per node object lists first for other nodes.
*/
- flags |= cachep->gfpflags | GFP_THISNODE;
+ if (g_cpucache_up != FULL)
+ flags |= cachep->gfpflags;
+ else
+ flags |= cachep->gfpflags | GFP_THISNODE;
page = alloc_pages_node(nodeid, flags, cachep->gfporder);
if (!page)
More information about the Linuxppc-dev
mailing list