Re: crash in kmem_cache_init

Christoph Lameter
2008-01-22T22:23:30Z

On Tue, 22 Jan 2008, Olaf Hering wrote:

> It crashes now in a different way if the patch below is applied:

Yup no l3 structure for the current node. We are early in boostrap. You
could just check if the l3 is there and if not just skip starting the
reaper? This will be redone later anyways. Not sure if this will solve all
your issues though. An l3 for the current node that we are booting on
needs to be created early on for SLAB bootstrap to succeed. AFAICT SLUB
doesnt care and simply uses whatever the page allocator gives it for the
cpu slab. We may have gotten there because you only tested with SLUB
recently and thus changes got in that broke SLAB boot assumptions.

> 0xc0000000000fe018 is in setup_cpu_cache (/home/olaf/kernel/git/linux-2.6-numa/mm/slab.c:2111).
> 2106 BUG_ON(!cachep->nodelists[node]);
> 2107 kmem_list3_init(cachep->nodelists[node]);
> 2108 }
> 2109 }
> 2110 }

if (cachep->nodelists[numa_node_id()])
return;

> 2111 cachep->nodelists[numa_node_id()]->next_reap =
> 2112 jiffies + REAPTIMEOUT_LIST3 +
> 2113 ((unsigned long)cachep) % REAPTIMEOUT_LIST3;
> 2114
> 2115 cpu_cache_get(cachep)->avail = 0;
>
>