Re: [PATCH] mm/slub: fix a BUG_ON() when offlining a memory nodeand CONFIG_SLUB_DEBUG is on

From: Christoph Lameter
Date: Tue Jul 17 2012 - 13:39:02 EST


On Wed, 18 Jul 2012, Jiang Liu wrote:

> From: Jianguo Wu <wujianguo@xxxxxxxxxx>
>
> From: Jianguo Wu <wujianguo@xxxxxxxxxx>
>
> SLUB allocator may cause a BUG_ON() when offlining a memory node if
> CONFIG_SLUB_DEBUG is on. The scenario is:
>
> 1) when creating kmem_cache_node slab, it cause inc_slabs_node() twice.
> early_kmem_cache_node_alloc
> ->new_slab
> ->inc_slabs_node
> ->inc_slabs_node

New slab will not be able to increment the slab counter. It will
check that there is no per node structure yet and then skip the inc slabs
node.

This suggests that a call to early_kmem_cache_node_alloc was not needed
because the per node structure already existed. Lets fix that instead.

--
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/