diff options
author | Jason Low <[email protected]> | 2014-09-16 17:16:57 -0700 |
---|---|---|
committer | Ingo Molnar <[email protected]> | 2014-10-03 06:09:29 +0200 |
commit | debfab74e453f079cd8b12b0604387a8c510ef3a (patch) | |
tree | bab0d5cc8f56dde5ad91d409683aac5d7fec8b47 /tools/perf/util/trace-event-scripting.c | |
parent | db0e716a1512179e8374a74c1f3184e9ce15d138 (diff) |
locking/rwsem: Avoid double checking before try acquiring write lock
Commit 9b0fc9c09f1b ("rwsem: skip initial trylock in rwsem_down_write_failed")
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.
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().
Signed-off-by: Jason Low <[email protected]>
Acked-by: Davidlohr Bueso <[email protected]>
Signed-off-by: Peter Zijlstra (Intel) <[email protected]>
Cc: Aswin Chandramouleeswaran <[email protected]>
Cc: Chegu Vinod <[email protected]>
Cc: Peter Hurley <[email protected]>
Cc: Tim Chen <[email protected]>
Cc: Linus Torvalds <[email protected]>
Link: http://lkml.kernel.org/r/1410913017.2447.22.camel@j-VirtualBox
Signed-off-by: Ingo Molnar <[email protected]>
Diffstat (limited to 'tools/perf/util/trace-event-scripting.c')
0 files changed, 0 insertions, 0 deletions