diff options
author | Andi Kleen <ak@suse.de> | 2006-09-26 04:52:32 -0400 |
---|---|---|
committer | Andi Kleen <andi@basil.nowhere.org> | 2006-09-26 04:52:32 -0400 |
commit | 8578bdf835d6d6ece6718858d351456367b8a5cf (patch) | |
tree | 5bf4aa72bda1f5c508d955a2d32b5d292f8bd5a7 /include/asm-x86_64/spinlock.h | |
parent | 7ca2b49b06a6d26e89e3535653889f1d7892b085 (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.h | 9 |
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" |