summaryrefslogtreecommitdiffstats
path: root/arch/x86/lib/semaphore_32.S
diff options
context:
space:
mode:
authorJan Beulich <JBeulich@novell.com>2011-07-19 12:59:51 +0100
committerIngo Molnar <mingo@elte.hu>2011-07-21 09:03:31 +0200
commit4625cd637919edfb562e0d62abf94f52e9321335 (patch)
tree88c4cf965722fb54731a6e8f632ec6ef6e83e194 /arch/x86/lib/semaphore_32.S
parentdd2897bf0f4d523238e87dabb23e9634ea9ba73d (diff)
downloadblackbird-op-linux-4625cd637919edfb562e0d62abf94f52e9321335.tar.gz
blackbird-op-linux-4625cd637919edfb562e0d62abf94f52e9321335.zip
x86: Unify rwlock assembly implementation
Rather than having two functionally identical implementations for 32- and 64-bit configurations, extend the existing assembly abstractions enough to fold the two rwlock implementations into a shared one. Signed-off-by: Jan Beulich <jbeulich@novell.com> Cc: Linus Torvalds <torvalds@linux-foundation.org> Cc: Andrew Morton <akpm@linux-foundation.org> Cc: Peter Zijlstra <a.p.zijlstra@chello.nl> Link: http://lkml.kernel.org/r/4E258DD7020000780004E3EA@nat28.tlf.novell.com Signed-off-by: Ingo Molnar <mingo@elte.hu>
Diffstat (limited to 'arch/x86/lib/semaphore_32.S')
-rw-r--r--arch/x86/lib/semaphore_32.S44
1 files changed, 0 insertions, 44 deletions
diff --git a/arch/x86/lib/semaphore_32.S b/arch/x86/lib/semaphore_32.S
index 06691daa4108..65b591d778b1 100644
--- a/arch/x86/lib/semaphore_32.S
+++ b/arch/x86/lib/semaphore_32.S
@@ -14,8 +14,6 @@
*/
#include <linux/linkage.h>
-#include <asm/rwlock.h>
-#include <asm/alternative-asm.h>
#include <asm/frame.h>
#include <asm/dwarf2.h>
@@ -31,46 +29,6 @@
*/
.section .sched.text, "ax"
-/*
- * rw spinlock fallbacks
- */
-#ifdef CONFIG_SMP
-ENTRY(__write_lock_failed)
- CFI_STARTPROC
- FRAME
-2: LOCK_PREFIX
- addl $ RW_LOCK_BIAS,(%eax)
-1: rep; nop
- cmpl $ RW_LOCK_BIAS,(%eax)
- jne 1b
- LOCK_PREFIX
- subl $ RW_LOCK_BIAS,(%eax)
- jnz 2b
- ENDFRAME
- ret
- CFI_ENDPROC
- ENDPROC(__write_lock_failed)
-
-ENTRY(__read_lock_failed)
- CFI_STARTPROC
- FRAME
-2: LOCK_PREFIX
- incl (%eax)
-1: rep; nop
- cmpl $1,(%eax)
- js 1b
- LOCK_PREFIX
- decl (%eax)
- js 2b
- ENDFRAME
- ret
- CFI_ENDPROC
- ENDPROC(__read_lock_failed)
-
-#endif
-
-#ifdef CONFIG_RWSEM_XCHGADD_ALGORITHM
-
/* Fix up special calling conventions */
ENTRY(call_rwsem_down_read_failed)
CFI_STARTPROC
@@ -120,5 +78,3 @@ ENTRY(call_rwsem_downgrade_wake)
ret
CFI_ENDPROC
ENDPROC(call_rwsem_downgrade_wake)
-
-#endif
OpenPOWER on IntegriCloud