Subject: linux-next: manual merge of the slab tree with Linus' tree

From: Stephen Rothwell <[email-masked]>
Date: Mon, 9 May 2011 12:41:58 +1000

Hi all,

Today's linux-next merge of the slab tree got a conflict in mm/slub.c
between commit 30106b8ce2cc ("slub: Fix the lockless code on 32-bit
platforms with no 64-bit cmpxchg") from Linus' tree and commit
1759415e630e ("slub: Remove CONFIG_CMPXCHG_LOCAL ifdeffery") from the
slab tree.

Just context changes (maybe).  I fixed it up (see below) and can carry
the fix as necessary.
-- 
Cheers,
Stephen Rothwell                    [email-masked]

diff --cc mm/slub.c
index 9d2e5e4,461199f..0000000
--- a/mm/slub.c
+++ b/mm/slub.c
@@@ -1927,9 -1918,8 +1918,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!)
@@@ -2144,8 -2103,7 +2103,7 @@@ redo
  	if (likely(page == c->page && c->node != NUMA_NO_NODE)) {
  		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)))) {