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

Reply via email to