[PATCH v3 0/4] locking/rwsem: Add reader-owned state to the owner field

From: Waiman Long
Date: Thu May 12 2016 - 18:57:15 EST


v2->v3:
- Make minor code changes as suggested by PeterZ & Peter Hurley.
- Add 2 minor patches (#2 & #3) to improve the rwsem code
- Add a 4th patch to streamline the rwsem_optimistic_spin() code.

v1->v2:
- Add rwsem_is_reader_owned() helper & rename rwsem_reader_owned()
to rwsem_set_reader_owned().
- Add more comments to clarify the purpose of some of the code
changes.

Patch 1 is the main patch of this series, whereas patches 2 & 3 are
just minor patches to improve the efficiency of the rwsem code. Patch
4 streamlines the rwsem_optimistic_spin() to make it simpler.

Waiman Long (4):
locking/rwsem: Add reader-owned state to the owner field
locking/rwsem: Don't wake up one's own task
locking/rwsem: Improve reader wakeup code
locking/rwsem: Streamline the rwsem_optimistic_spin() code

kernel/locking/rwsem-xadd.c | 75 ++++++++++++++++++++++++------------------
kernel/locking/rwsem.c | 8 +++-
kernel/locking/rwsem.h | 41 +++++++++++++++++++++++
3 files changed, 90 insertions(+), 34 deletions(-)