| From | Jeremy Fitzhardinge <> | Subject | [PATCH 14/18] x86/ticketlocks: use cmpxchg_flag for trylock | Date | Wed, 24 Aug 2011 10:53:08 -0700 |
| |
From: Jeremy Fitzhardinge <jeremy.fitzhardinge@citrix.com>
Signed-off-by: Jeremy Fitzhardinge <jeremy.fitzhardinge@citrix.com> --- arch/x86/include/asm/spinlock.h | 2 +- 1 files changed, 1 insertions(+), 1 deletions(-)
diff --git a/arch/x86/include/asm/spinlock.h b/arch/x86/include/asm/spinlock.h index 05fd59e..e208c8f 100644 --- a/arch/x86/include/asm/spinlock.h +++ b/arch/x86/include/asm/spinlock.h @@ -102,7 +102,7 @@ static __always_inline int __ticket_spin_trylock(arch_spinlock_t *lock) new.head_tail = old.head_tail + (1 << TICKET_SHIFT); /* cmpxchg is a full barrier, so nothing can move before it */ - return cmpxchg(&lock->head_tail, old.head_tail, new.head_tail) == old.head_tail; + return cmpxchg_flag(&lock->head_tail, old.head_tail, new.head_tail); } static __always_inline void __ticket_spin_unlock(arch_spinlock_t *lock) -- 1.7.6
|