Messages in this thread | | | From | Waiman Long <> | Subject | [PATCH-tip v2 0/3] locking/rwsem: Minor twists to improve rwsem performance | Date | Mon, 6 Mar 2017 14:04:40 -0500 |
| |
v1->v2: - Replace trylock with a more light-weight raw_spin_is_locked() call to reduce overhead. - Run fio test in addition to rwsem microbenchmark.
This patch set introduces minor changes to the rwsem code path to provide minor performance improvement especially with short critical sections.
Patch 1 checks wait_list without lock when spinners are present.
Patch 2 moves down the rwsem_down_read_failed() function after the optimistic spinning section so that functions in that section can be used.
Patch 3 undoes active read lock ASAP when either the spinners are present or the wait_lock isn't free.
Waiman Long (3): locking/rwsem: Check wait_list without lock if spinner present locking/rwsem: relocate rwsem_down_read_failed() locking/rwsem: Stop active read lock ASAP
kernel/locking/rwsem-xadd.c | 129 ++++++++++++++++++++++++++------------------ 1 file changed, 76 insertions(+), 53 deletions(-)
-- 1.8.3.1
| |