Re: [GIT PULL] SLAB changes for v2.6.39-rc1

From: Christoph Lameter
Date: Thu Mar 24 2011 - 15:06:02 EST


On Thu, 24 Mar 2011, Pekka Enberg wrote:

> It hanged here which is pretty much expected on this box if
> kmem_cache_init() oopses. I'm now trying to see if I'm able to find
> the config option that breaks things. CONFIG_PREEMPT_NONE is a
> suspect:
>
> penberg@tiger:~/linux$ grep PREEMPT ../config-ingo
> # CONFIG_PREEMPT_RCU is not set
> CONFIG_PREEMPT_NONE=y
> # CONFIG_PREEMPT_VOLUNTARY is not set
> # CONFIG_PREEMPT is not set

The following patch should ensure that all percpu data is touched
before any emulation functions are called:

---
mm/slub.c | 2 +-
1 file changed, 1 insertion(+), 1 deletion(-)

Index: linux-2.6/mm/slub.c
===================================================================
--- linux-2.6.orig/mm/slub.c 2011-03-24 14:03:10.000000000 -0500
+++ linux-2.6/mm/slub.c 2011-03-24 14:04:08.000000000 -0500
@@ -1604,7 +1604,7 @@ static inline void note_cmpxchg_failure(

void init_kmem_cache_cpus(struct kmem_cache *s)
{
-#if defined(CONFIG_CMPXCHG_LOCAL) && defined(CONFIG_PREEMPT)
+#ifdef CONFIG_CMPXCHG_LOCAL
int cpu;

for_each_possible_cpu(cpu)
--
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/