On 04/05/2017 09:39, Fam Zheng wrote: > On Thu, 04/20 14:00, Paolo Bonzini wrote: >> + if (atomic_cmpxchg(&mutex->locked, waiters, waiters + 1) != waiters) { > > Is it still useful to try the fast path again if there are now even more > waiters, i.e. "atomic_cmpxchg(...) > waiters"?
Probably not. Paolo >> + goto retry_fast_path; >> + } >> + >> + qemu_co_mutex_lock_slowpath(ctx, mutex); >> + qemu_co_mutex_unlock(mutex); >> +} >> + >> void coroutine_fn qemu_co_mutex_unlock(CoMutex *mutex) >> { >> Coroutine *self = qemu_coroutine_self(); >> -- >> 2.9.3 >> >> >>