diff options
author | Ingo Molnar <mingo@elte.hu> | 2009-07-03 08:29:30 -0500 |
---|---|---|
committer | Ingo Molnar <mingo@kernel.org> | 2013-02-19 08:43:37 +0100 |
commit | 5042afe7fe32390e79910ecd0a1f0563d4bca38c (patch) | |
tree | 7a86a70e811f7f89786ee79fd021ad7ae53063cf /include/asm-generic/cmpxchg-local.h | |
parent | 9fb1b90ce0a847a8cc9492a6c1f347b5be1f33ff (diff) | |
download | lwn-5042afe7fe32390e79910ecd0a1f0563d4bca38c.tar.gz lwn-5042afe7fe32390e79910ecd0a1f0563d4bca38c.zip |
generic: Use raw local irq variant for generic cmpxchg
The interrupt disabled region is extremly tiny and therefor not
latency relevant. Avoid cluttering the traces with those pointless
entries.
Signed-off-by: Ingo Molnar <mingo@elte.hu>
Signed-off-by: Thomas Gleixner <tglx@linutronix.de>
Diffstat (limited to 'include/asm-generic/cmpxchg-local.h')
-rw-r--r-- | include/asm-generic/cmpxchg-local.h | 8 |
1 files changed, 4 insertions, 4 deletions
diff --git a/include/asm-generic/cmpxchg-local.h b/include/asm-generic/cmpxchg-local.h index 2533fddd34a6..d8d4c898c1bb 100644 --- a/include/asm-generic/cmpxchg-local.h +++ b/include/asm-generic/cmpxchg-local.h @@ -21,7 +21,7 @@ static inline unsigned long __cmpxchg_local_generic(volatile void *ptr, 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_local_generic(volatile void *ptr, 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_generic(volatile void *ptr, 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; } |