Index: linux-2.6.20-rc1/mm/slub.c =================================================================== --- linux-2.6.20-rc1.orig/mm/slub.c 2006-12-14 18:36:47.000000000 -0800 +++ linux-2.6.20-rc1/mm/slub.c 2006-12-14 19:04:23.000000000 -0800 @@ -58,12 +58,11 @@ #define ARCH_SLAB_MINALIGN sizeof(void *) #endif -#ifdef CONFIG_NUMA - /* We need to bootstrap the slab with the active slabs in a special way */ #define ACTIVE_SLAB_NR kmalloc_index(sizeof(struct active_slab)) #define ACTIVE_SLAB_SLAB &kmalloc_caches[ACTIVE_SLAB_NR - KMALLOC_SHIFT_LOW] +#ifdef CONFIG_NUMA #define ACTIVE_SLAB(__s,__cpu) ((__s)->active[__cpu]) #else #define ACTIVE_SLAB(__s,__cpu) (&(__s)->active[__cpu]) @@ -538,7 +537,9 @@ if (likely(a->page)) { slab_lock(a->page); deactivate_slab(a); +#ifdef CONFIG_SMP a->flush_active = 0; +#endif } }