aboutsummaryrefslogtreecommitdiffstats
path: root/include/asm-x86_64/spinlock.h
diff options
context:
space:
mode:
authorAndi Kleen <ak@suse.de>2006-09-26 04:52:32 -0400
committerAndi Kleen <andi@basil.nowhere.org>2006-09-26 04:52:32 -0400
commit8578bdf835d6d6ece6718858d351456367b8a5cf (patch)
tree5bf4aa72bda1f5c508d955a2d32b5d292f8bd5a7 /include/asm-x86_64/spinlock.h
parent7ca2b49b06a6d26e89e3535653889f1d7892b085 (diff)
[PATCH] Don't use lock section for mutexes and semaphores
Lock sections cannot be handled by the dwarf2 unwinder. Disadvantage is a taken branch in the hot path. Signed-off-by: Andi Kleen <ak@suse.de>
Diffstat (limited to 'include/asm-x86_64/spinlock.h')
-rw-r--r--include/asm-x86_64/spinlock.h9
1 files changed, 4 insertions, 5 deletions
diff --git a/include/asm-x86_64/spinlock.h b/include/asm-x86_64/spinlock.h
index a8e3d89f591f..1d0733b38a4b 100644
--- a/include/asm-x86_64/spinlock.h
+++ b/include/asm-x86_64/spinlock.h
@@ -22,14 +22,13 @@
22#define __raw_spin_lock_string \ 22#define __raw_spin_lock_string \
23 "\n1:\t" \ 23 "\n1:\t" \
24 LOCK_PREFIX " ; decl %0\n\t" \ 24 LOCK_PREFIX " ; decl %0\n\t" \
25 "js 2f\n" \ 25 "jns 2f\n" \
26 LOCK_SECTION_START("") \ 26 "3:\n" \
27 "2:\t" \
28 "rep;nop\n\t" \ 27 "rep;nop\n\t" \
29 "cmpl $0,%0\n\t" \ 28 "cmpl $0,%0\n\t" \
30 "jle 2b\n\t" \ 29 "jle 3b\n\t" \
31 "jmp 1b\n" \ 30 "jmp 1b\n" \
32 LOCK_SECTION_END 31 "2:\t" \
33 32
34#define __raw_spin_lock_string_up \ 33#define __raw_spin_lock_string_up \
35 "\n\tdecl %0" 34 "\n\tdecl %0"