[PATCH -tip v2 0/2] locking/rwsem (xadd): Waiter enhacements.

From: Davidlohr Bueso
Date: Fri May 13 2016 - 14:58:47 EST


Changes from v1: https://lkml.org/lkml/2016/5/9/12
- dropped READ_ONCE(sem->counter) patch -- we already have barriers
(ie set_task_struct) in the loop, and therefore do not see stale
variables.
- Reworked and merged the other patches to get rid of the explicit
waiter (reader) refcount. (peterz).

Hi,

This is a follow up series while reviewing Waiman's reader-owned
state work[1]. While I have based it on -tip instead of that change,
I can certainly rebase the series in some future iteration.

Changes are mainly around reader-waiter optimizations, in no particular
order. Has passed numerous DB benchmarks without things falling apart.
Full details are in each patch.

[1] http://permalink.gmane.org/gmane.linux.kernel/2216743

Thanks!

Davidlohr Bueso (2):
locking/rwsem: Enable lockless waiter wakeup(s)
locking/rwsem: Rework zeroing reader waiter->task

kernel/locking/rwsem-xadd.c | 73 +++++++++++++++++++++++++++++----------------
1 file changed, 48 insertions(+), 25 deletions(-)

--
2.8.1