kernel BUG in __cache_alloc_node at linux-2.6.git/mm/slab.c:3177!

Paul Mackerras paulus at
Sat Oct 21 08:54:28 EST 2006

Christoph Lameter writes:

> I do not get it. You first mark all pages on node 0 then we run the bootup 
> code and later we shift those pages into node 0? So the slab bootstrap is 
> running when all pages are marked as being part of node 1 then later we 
> switch those pages under it to node 0?

No, the bootmem code correctly marks all the pages in node 0 as being
in node 0.  Then it goes through and marks *all* pages as being in
node 1, because it marks all pages between the first and last pages in
the node as being in the node.  The first page in node 1 is before all
the pages in node 0, and the last page in node 1 is after all the
pages in node 0.

So we end up with the system thinking all the memory is in node 1,
although in fact half the memory is in node 0.

Anyway, it looks like this problem wasn't introduced by your patches,
and is solved by the patch Andy Whitcroft posted, so thanks for your
assistance with this.


More information about the Linuxppc-dev mailing list