x86: adjust placement of pause insn in _raw_spin_lock()
authorKeir Fraser <keir.fraser@citrix.com>
Fri, 8 Aug 2008 14:02:19 +0000 (15:02 +0100)
committerKeir Fraser <keir.fraser@citrix.com>
Fri, 8 Aug 2008 14:02:19 +0000 (15:02 +0100)
React to lock becoming available as quickly as possible.

Signed-off-by: Jan Beulich <jbeulich@novell.com>
xen/include/asm-x86/spinlock.h

index 59be73656bd2a14c59907fc82a612e7154ba40e4..550edcb4e5ac027e91d0ad397c401e10dac84885 100644 (file)
@@ -23,8 +23,8 @@ static inline void _raw_spin_lock(spinlock_t *lock)
         "1:  lock; decb %0         \n"
         "    js 2f                 \n"
         ".section .text.lock,\"ax\"\n"
-        "2:  cmpb $0,%0            \n"
-        "    rep; nop              \n"
+        "2:  rep; nop              \n"
+        "    cmpb $0,%0            \n"
         "    jle 2b                \n"
         "    jmp 1b                \n"
         ".previous"