diff options
author | Jan Beulich <jbeulich@novell.com> | 2008-09-05 08:26:39 -0400 |
---|---|---|
committer | Ingo Molnar <mingo@elte.hu> | 2008-09-05 11:04:08 -0400 |
commit | ef1f3413284b9270266cb04a944647e59735f0f1 (patch) | |
tree | 0e3cb2780ec0cf79969fcd937d6938abe72a2447 | |
parent | 0a328ea43da9c3eefce7cb6c947e43e1a0fef810 (diff) |
x86: ticket spin locks: fix asm constraints
In addition to these changes I doubt the 'volatile' on all the ticket
lock asm()-s are really necessary.
Signed-off-by: Jan Beulich <jbeulich@novell.com>
Signed-off-by: Ingo Molnar <mingo@elte.hu>
-rw-r--r-- | include/asm-x86/spinlock.h | 6 |
1 files changed, 3 insertions, 3 deletions
diff --git a/include/asm-x86/spinlock.h b/include/asm-x86/spinlock.h index 93adae338ac6..acd9bdda55cf 100644 --- a/include/asm-x86/spinlock.h +++ b/include/asm-x86/spinlock.h | |||
@@ -101,7 +101,7 @@ static __always_inline int __ticket_spin_trylock(raw_spinlock_t *lock) | |||
101 | "1:" | 101 | "1:" |
102 | "sete %b1\n\t" | 102 | "sete %b1\n\t" |
103 | "movzbl %b1,%0\n\t" | 103 | "movzbl %b1,%0\n\t" |
104 | : "=&a" (tmp), "=Q" (new), "+m" (lock->slock) | 104 | : "=&a" (tmp), "=&Q" (new), "+m" (lock->slock) |
105 | : | 105 | : |
106 | : "memory", "cc"); | 106 | : "memory", "cc"); |
107 | 107 | ||
@@ -146,7 +146,7 @@ static __always_inline void __ticket_spin_lock(raw_spinlock_t *lock) | |||
146 | /* don't need lfence here, because loads are in-order */ | 146 | /* don't need lfence here, because loads are in-order */ |
147 | "jmp 1b\n" | 147 | "jmp 1b\n" |
148 | "2:" | 148 | "2:" |
149 | : "+Q" (inc), "+m" (lock->slock), "=r" (tmp) | 149 | : "+r" (inc), "+m" (lock->slock), "=&r" (tmp) |
150 | : | 150 | : |
151 | : "memory", "cc"); | 151 | : "memory", "cc"); |
152 | } | 152 | } |
@@ -166,7 +166,7 @@ static __always_inline int __ticket_spin_trylock(raw_spinlock_t *lock) | |||
166 | "1:" | 166 | "1:" |
167 | "sete %b1\n\t" | 167 | "sete %b1\n\t" |
168 | "movzbl %b1,%0\n\t" | 168 | "movzbl %b1,%0\n\t" |
169 | : "=&a" (tmp), "=r" (new), "+m" (lock->slock) | 169 | : "=&a" (tmp), "=&q" (new), "+m" (lock->slock) |
170 | : | 170 | : |
171 | : "memory", "cc"); | 171 | : "memory", "cc"); |
172 | 172 | ||