The first patch contains an optimization for acquiring the rwsem write lock in the slowpath.
This rest of the series converts the rwsem count variable to an atomic_long_t since it is used it as an atomic variable. This allows us to also remove the rwsem_atomic_{add,update} abstraction and reduce 100+ lines of code. arch/alpha/include/asm/rwsem.h | 42 -------------------------------- arch/ia64/include/asm/rwsem.h | 7 ------ arch/s390/include/asm/rwsem.h | 37 ----------------------------- arch/x86/include/asm/rwsem.h | 18 -------------- include/asm-generic/rwsem.h | 16 ------------- include/linux/rwsem.h | 6 ++--- kernel/locking/rwsem-xadd.c | 54 ++++++++++++++++++++++++++---------------- 7 files changed, 36 insertions(+), 144 deletions(-) -- 2.1.4