From: Pekka Enberg Date: Mon, 23 May 2011 16:50:39 +0000 (+0300) Subject: Merge branch 'slab/next' into for-linus X-Git-Url: http://git.lede-project.org./?a=commitdiff_plain;h=bfb91fb650e988c3c347e50fc75fedb7d4f0c018;p=openwrt%2Fstaging%2Fblogic.git Merge branch 'slab/next' into for-linus Conflicts: mm/slub.c --- bfb91fb650e988c3c347e50fc75fedb7d4f0c018 diff --cc mm/slub.c index 9d2e5e46bf09,9ee6f515736d..4ea7f1a22a94 --- a/mm/slub.c +++ b/mm/slub.c @@@ -1927,9 -1932,8 +1932,8 @@@ redo object = __slab_alloc(s, gfpflags, node, addr, c); else { - #ifdef CONFIG_CMPXCHG_LOCAL /* - * The cmpxchg will only match if there was no additonal + * The cmpxchg will only match if there was no additional * operation and if we are on the right processor. * * The cmpxchg does the following atomically (without lock semantics!) @@@ -1940,10 -1944,10 +1944,10 @@@ * Since this is without lock semantics the protection is only against * code executing on this cpu *not* from access by other cpus. */ - if (unlikely(!this_cpu_cmpxchg_double( + if (unlikely(!irqsafe_cpu_cmpxchg_double( s->cpu_slab->freelist, s->cpu_slab->tid, object, tid, - get_freepointer(s, object), next_tid(tid)))) { + get_freepointer_safe(s, object), next_tid(tid)))) { note_cmpxchg_failure("slab_alloc", s, tid); goto redo; @@@ -2136,16 -2111,13 +2111,13 @@@ redo */ c = __this_cpu_ptr(s->cpu_slab); - #ifdef CONFIG_CMPXCHG_LOCAL tid = c->tid; barrier(); - #endif - if (likely(page == c->page && c->node != NUMA_NO_NODE)) { + if (likely(page == c->page)) { set_freepointer(s, object, c->freelist); - #ifdef CONFIG_CMPXCHG_LOCAL - if (unlikely(!this_cpu_cmpxchg_double( + if (unlikely(!irqsafe_cpu_cmpxchg_double( s->cpu_slab->freelist, s->cpu_slab->tid, c->freelist, tid, object, next_tid(tid)))) {