Re: [BUG] CONFIG_DEBUG_SLAB broken on SMP

From: Manfred Spraul (manfred@colorfullife.com)
Date: Wed Oct 09 2002 - 14:50:13 EST


> The problem appears to be in the SMP version of __kmem_cache_alloc()
> and __kmem_cache_free(), where it simply sticks the obj in the per-CPU
> list without doing the poison or redzone stuff that is done inside
> kmem_cache_free_one_tail().
>
The simplest solution is to skip the code that enables the per-cpu
caches if debugging is enabled:

Search for enable_all_cpucaches in mm/slab.c, and skip the call if DEBUG
is enabled.

2.5.41-mm1 contains a partially rewritten slab, which performs the
poisoning before adding an object into the cpu caches. Additionally,
even caches with constructors are not poisoned - ctor and dtor calls are
performed in kmem_cache_alloc/free.

--
	Manfred

- To unsubscribe from this list: send the line "unsubscribe linux-kernel" in the body of a message to majordomo@vger.kernel.org More majordomo info at http://vger.kernel.org/majordomo-info.html Please read the FAQ at http://www.tux.org/lkml/



This archive was generated by hypermail 2b29 : Tue Oct 15 2002 - 22:00:33 EST