[PATCH tip/core/rcu 0/13] percpu-rwsem patches for 4.4

From: Paul E. McKenney
Date: Tue Oct 06 2015 - 12:45:26 EST


Hello!

This series contains performance improvements and locktorture testing
for percpu-rwsem:

1. Add rtmutex torturing to locktorture, courtesy of Davidlohr Bueso.

2. Add exports to allow locktorture to be built as a module.

3. Add torture tests for percpu-rwsem.

4. Consolidate cond_resched_rcu_qs() into stutter_wait().

5. Create rcu_sync infrastructure, courtesy of Oleg Nesterov.

6. Simplify rcu_sync using new rcu_sync_ops structure, courtesy
of Oleg Nesterov.

7. Add CONFIG_PROVE_RCU checks for rcu_sync, courtesy of Oleg Nesterov.

8. Introduce rcu_sync_dtor(), courtesy of Oleg Nesterov.

9. Make percpu_free_rwsem() after kzalloc() safe, courtesy of Oleg
Nesterov.

10. Make percpu-rwsem make use of rcu_sync, courtesy of Oleg Nesterov.

11. Fix the comments outdated by rcu_sync, courtesy of Oleg Nesterov.

12. Clean up the lockdep annotations in percpu_down_read(), courtesy
Peter Zijlstra and of Oleg Nesterov.

13. Cleanup the CONFIG_PROVE_RCU checks, courtesy of Oleg Nesterov.

Thanx, Paul

------------------------------------------------------------------------

b/Documentation/locking/locktorture.txt | 3
b/include/linux/percpu-rwsem.h | 3
b/include/linux/rcu_sync.h | 168 ++++--
b/kernel/locking/locktorture.c | 158 +++++
b/kernel/locking/percpu-rwsem.c | 90 +--
b/kernel/rcu/Makefile | 2
b/kernel/rcu/rcutorture.c | 2
b/kernel/rcu/sync.c | 269 +++++++++-
b/kernel/torture.c | 1
b/tools/testing/selftests/rcutorture/configs/lock/CFLIST | 4
b/tools/testing/selftests/rcutorture/configs/lock/LOCK05 | 6
b/tools/testing/selftests/rcutorture/configs/lock/LOCK05.boot | 1
b/tools/testing/selftests/rcutorture/configs/lock/LOCK06 | 6
b/tools/testing/selftests/rcutorture/configs/lock/LOCK06.boot | 1
14 files changed, 588 insertions(+), 126 deletions(-)

--
To unsubscribe from this list: send the line "unsubscribe linux-kernel" in
the body of a message to majordomo@xxxxxxxxxxxxxxx
More majordomo info at http://vger.kernel.org/majordomo-info.html
Please read the FAQ at http://www.tux.org/lkml/