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, send a message with 'unsubscribe linux-mm' in the body to majordomo@xxxxxxxxxx For more info on Linux MM, see: http://www.linux-mm.org/ . Fight unfair telecom internet charges in Canada: sign http://stopthemeter.ca/ Don't email: <a href=mailto:"dont@xxxxxxxxx"> email@xxxxxxxxx </a>