50 lines
1.3 KiB
Diff
50 lines
1.3 KiB
Diff
|
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-3.2/include/asm-generic/cmpxchg-local.h
|
||
|
===================================================================
|
||
|
--- linux-3.2.orig/include/asm-generic/cmpxchg-local.h
|
||
|
+++ linux-3.2/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;
|
||
|
}
|
||
|
|