lkml.org 
[lkml]   [2017]   [Mar]   [6]   [last100]   RSS Feed
Views: [wrap][no wrap]   [headers]  [forward] 
 
Messages in this thread
/
From
Subject[PATCH-tip v2 0/3] locking/rwsem: Minor twists to improve rwsem performance
Date
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

\
 
 \ /
  Last update: 2017-03-06 20:06    [W:0.041 / U:0.024 seconds]
©2003-2020 Jasper Spaans|hosted at Digital Ocean and TransIP|Read the blog|Advertise on this site