| From: Ingo Molnar <mingo@elte.hu> | 
 | Date: Fri, 3 Jul 2009 08:29:30 -0500 | 
 | Subject: generic: Use raw local irq variant for generic cmpxchg | 
 |  | 
 | No point in tracing those. | 
 |  | 
 | Signed-off-by: Ingo Molnar <mingo@elte.hu> | 
 | Signed-off-by: Thomas Gleixner <tglx@linutronix.de> | 
 |  | 
 | --- | 
 |  include/asm-generic/cmpxchg-local.h |    8 ++++---- | 
 |  1 file changed, 4 insertions(+), 4 deletions(-) | 
 |  | 
 | Index: linux-stable/include/asm-generic/cmpxchg-local.h | 
 | =================================================================== | 
 | --- linux-stable.orig/include/asm-generic/cmpxchg-local.h | 
 | +++ linux-stable/include/asm-generic/cmpxchg-local.h | 
 | @@ -21,7 +21,7 @@ static inline unsigned long __cmpxchg_lo | 
 |  	if (size == 8 && sizeof(unsigned long) != 8) | 
 |  		wrong_size_cmpxchg(ptr); | 
 |   | 
 | -	local_irq_save(flags); | 
 | +	raw_local_irq_save(flags); | 
 |  	switch (size) { | 
 |  	case 1: prev = *(u8 *)ptr; | 
 |  		if (prev == old) | 
 | @@ -42,7 +42,7 @@ static inline unsigned long __cmpxchg_lo | 
 |  	default: | 
 |  		wrong_size_cmpxchg(ptr); | 
 |  	} | 
 | -	local_irq_restore(flags); | 
 | +	raw_local_irq_restore(flags); | 
 |  	return prev; | 
 |  } | 
 |   | 
 | @@ -55,11 +55,11 @@ static inline u64 __cmpxchg64_local_gene | 
 |  	u64 prev; | 
 |  	unsigned long flags; | 
 |   | 
 | -	local_irq_save(flags); | 
 | +	raw_local_irq_save(flags); | 
 |  	prev = *(u64 *)ptr; | 
 |  	if (prev == old) | 
 |  		*(u64 *)ptr = new; | 
 | -	local_irq_restore(flags); | 
 | +	raw_local_irq_restore(flags); | 
 |  	return prev; | 
 |  } | 
 |   |