Messages in this thread | | | Subject | Re: [PATCH v3] locking/rwsem: Avoid double checking before try acquiring write lock | From | Jason Low <> | Date | Wed, 17 Sep 2014 09:47:30 -0700 |
| |
On Wed, 2014-09-17 at 11:34 +0200, Davidlohr Bueso wrote: > On Tue, 2014-09-16 at 17:16 -0700, Jason Low wrote: > > Commit 9b0fc9c09f1b checks for if there are known active lockers > > in order to avoid write trylocking using expensive cmpxchg() when > > it likely wouldn't get the lock. > > Ah, I remember you had this one in your queue for some time :) > > > However, a subsequent patch was added such that we directly > > check for sem->count == RWSEM_WAITING_BIAS right before trying > > that cmpxchg(). Thus, commit 9b0fc9c09f1b now just adds overhead. > > This patch modifies it so that we only do a check for if > > count == RWSEM_WAITING_BIAS. > > > > Also, add a comment on why we do an "extra check" of count > > before the cmpxchg(). > > heh, so people don't try to remove the "redundant" check!
Right, I've already seen at least 1 such patch :)
> > Cc: Peter Hurley <peter@hurleysoftware.com> > > Cc: Tim Chen <tim.c.chen@linux.intel.com> > > Acked-by: Davidlohr Bueso <dave@stgolabs.net>
Thanks!
| |