Messages in this thread | | | Date | Fri, 11 Sep 2015 15:27:44 -0700 | From | Davidlohr Bueso <> | Subject | Re: [PATCH v6 1/6] locking/qspinlock: relaxes cmpxchg & xchg ops in native code |
| |
On Fri, 11 Sep 2015, Waiman Long wrote:
>@@ -46,7 +46,7 @@ static inline bool virt_queued_spin_lock(struct qspinlock *lock) > if (!static_cpu_has(X86_FEATURE_HYPERVISOR)) > return false; > >- while (atomic_cmpxchg(&lock->val, 0, _Q_LOCKED_VAL) != 0) >+ while (atomic_cmpxchg_acquire(&lock->val, 0, _Q_LOCKED_VAL) != 0) > cpu_relax();
This code has changed with Peter's recent ccas fix. And the whole virt_queued_spin_lock() thing will now be under pv configs. So this doesn't apply to native code anymore, so it looks like it should be dropped altogether.
Thanks, Davidlohr
| |