--- arch/x86/Kconfig | 4 ---- mm/slub.c | 14 +++++++------- 2 files changed, 7 insertions(+), 11 deletions(-) Index: linux-2.6/arch/x86/Kconfig =================================================================== --- linux-2.6.orig/arch/x86/Kconfig 2007-11-19 15:45:07.614390434 -0800 +++ linux-2.6/arch/x86/Kconfig 2007-11-19 15:53:28.006139845 -0800 @@ -112,10 +112,6 @@ config GENERIC_TIME_VSYSCALL bool default X86_64 -config FAST_CMPXCHG_LOCAL - bool - default y - config ZONE_DMA32 bool default X86_64 Index: linux-2.6/mm/slub.c =================================================================== --- linux-2.6.orig/mm/slub.c 2007-11-19 15:53:25.873890562 -0800 +++ linux-2.6/mm/slub.c 2007-11-19 15:53:28.006139845 -0800 @@ -1551,7 +1551,7 @@ static void *__slab_alloc(struct kmem_ca void **object; unsigned long state; struct kmem_cache_cpu *c; -#ifdef CONFIG_FAST_CMPXCHG_LOCAL +#ifdef CONFIG_FAST_CPU_OPS unsigned long flags; local_irq_save(flags); @@ -1591,7 +1591,7 @@ load_freelist: unlock_out: slab_unlock(c->page, state); out: -#ifdef CONFIG_FAST_CMPXCHG_LOCAL +#ifdef CONFIG_FAST_CPU_OPS preempt_disable(); local_irq_restore(flags); #endif @@ -1634,7 +1634,7 @@ static void __always_inline *slab_alloc( void **object; struct kmem_cache_cpu *c; -#ifdef CONFIG_FAST_CMPXCHG_LOCAL +#ifdef CONFIG_FAST_CPU_OPS c = s->cpu_slab; do { object = __CPU_READ(c->freelist); @@ -1701,7 +1701,7 @@ static void __slab_free(struct kmem_cach void **object = (void *)x; unsigned long state; -#ifdef CONFIG_FAST_CMPXCHG_LOCAL +#ifdef CONFIG_FAST_CPU_OPS unsigned long flags; local_irq_save(flags); @@ -1731,7 +1731,7 @@ checks_ok: out_unlock: slab_unlock(page, state); -#ifdef CONFIG_FAST_CMPXCHG_LOCAL +#ifdef CONFIG_FAST_CPU_OPS local_irq_restore(flags); #endif return; @@ -1744,7 +1744,7 @@ slab_empty: remove_partial(s, page); slab_unlock(page, state); -#ifdef CONFIG_FAST_CMPXCHG_LOCAL +#ifdef CONFIG_FAST_CPU_OPS local_irq_restore(flags); #endif discard_slab(s, page); @@ -1773,7 +1773,7 @@ static void __always_inline slab_free(st void **object = (void *)x; struct kmem_cache_cpu *c; -#ifdef CONFIG_FAST_CMPXCHG_LOCAL +#ifdef CONFIG_FAST_CPU_OPS void **freelist; c = s->cpu_slab;