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"?

> +        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
> 
> 
> 

Reply via email to