aboutsummaryrefslogtreecommitdiffstats
path: root/arch/x86_64/lib/thunk.S
diff options
context:
space:
mode:
authorAndi Kleen <ak@suse.de>2006-09-26 10:52:28 +0200
committerAndi Kleen <andi@basil.nowhere.org>2006-09-26 10:52:28 +0200
commit9a0b26e6bc4ae1979d9bcc6194e57a71b2b5cac6 (patch)
tree01601a502007b85d4fc88f79de7a93c257ef9d97 /arch/x86_64/lib/thunk.S
parent[PATCH] Support patchable lock prefix for pure assembly files (diff)
downloadlinux-dev-9a0b26e6bc4ae1979d9bcc6194e57a71b2b5cac6.tar.xz
linux-dev-9a0b26e6bc4ae1979d9bcc6194e57a71b2b5cac6.zip
[PATCH] Clean up read write lock assembly
- Move the slow path fallbacks to their own assembly files This makes them much easier to read and is needed for the next change. - Add CFI annotations for unwinding (XXX need review) - Remove constant case which can never happen with out of line spinlocks - Use patchable LOCK prefixes - Don't use lock sections anymore for inline code because they can't be expressed by the unwinder (this adds one taken jump to the lock fast path) Cc: jbeulich@novell.com Signed-off-by: Andi Kleen <ak@suse.de>
Diffstat (limited to 'arch/x86_64/lib/thunk.S')
-rw-r--r--arch/x86_64/lib/thunk.S30
1 files changed, 0 insertions, 30 deletions
diff --git a/arch/x86_64/lib/thunk.S b/arch/x86_64/lib/thunk.S
index 332ea5dff916..6cff27c775ae 100644
--- a/arch/x86_64/lib/thunk.S
+++ b/arch/x86_64/lib/thunk.S
@@ -67,33 +67,3 @@ restore_norax:
RESTORE_ARGS 1
ret
CFI_ENDPROC
-
-#ifdef CONFIG_SMP
-/* Support for read/write spinlocks. */
- .text
-/* rax: pointer to rwlock_t */
-ENTRY(__write_lock_failed)
- lock
- addl $RW_LOCK_BIAS,(%rax)
-1: rep
- nop
- cmpl $RW_LOCK_BIAS,(%rax)
- jne 1b
- lock
- subl $RW_LOCK_BIAS,(%rax)
- jnz __write_lock_failed
- ret
-
-/* rax: pointer to rwlock_t */
-ENTRY(__read_lock_failed)
- lock
- incl (%rax)
-1: rep
- nop
- cmpl $1,(%rax)
- js 1b
- lock
- decl (%rax)
- js __read_lock_failed
- ret
-#endif