Messages in this thread | | | Subject | Re: [PATCH v2 3/4] mutex: Try to acquire mutex only if it is unlocked | From | Davidlohr Bueso <> | Date | Thu, 12 Jun 2014 12:37:05 -0700 |
| |
On Wed, 2014-06-11 at 11:37 -0700, Jason Low wrote: > Upon entering the slowpath in __mutex_lock_common(), we try once more to > acquire the mutex. We only try to acquire if (lock->count >= 0). However, > what we actually want here is to try to acquire if the mutex is unlocked > (lock->count == 1). > > This patch changes it so that we only try-acquire the mutex upon entering > the slowpath if it is unlocked, rather than if the lock count is non-negative. > This helps further reduce unnecessary atomic xchg() operations. > > Furthermore, this patch uses !mutex_is_locked(lock) to do the initial > checks for if the lock is free rather than directly calling atomic_read() > on the lock->count, in order to improve readability.
I think this patch can be merged in 2/4, like you had in v1. Otherwise looks good.
| |