[<prev] [next>] [thread-next>] [day] [month] [year] [list]
Message-Id: <1488827083-30078-1-git-send-email-longman@redhat.com>
Date: Mon, 6 Mar 2017 14:04:40 -0500
From: Waiman Long <longman@...hat.com>
To: Ingo Molnar <mingo@...hat.com>,
Peter Zijlstra <peterz@...radead.org>
Cc: linux-kernel@...r.kernel.org, Davidlohr Bueso <dave@...olabs.net>,
Waiman Long <longman@...hat.com>
Subject: [PATCH-tip v2 0/3] locking/rwsem: Minor twists to improve rwsem performance
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
Powered by blists - more mailing lists