[PATCH RFC tip/core/rcu 0/9] Add rcu_sync and implement percpu_rwsem in terms of it

From: Paul E. McKenney
Date: Fri Aug 28 2015 - 23:45:59 EST


Hello!

This series implements an rcu_sync primitive and updates percpu_rwsem to
be implemented in terms of it. This is an updated version of the series
posted by Oleg Nesterov, responding to feedback from Ingo Molnar. The
patches in this series, all courtesy of Oleg (and some in turn based
on work by Peter Zijlstra), are as follows:

1. Create rcu_sync infrastructure.

2. Simplify rcu_sync using new rcu_sync_ops structure.

3. Add CONFIG_PROVE_RCU checks.

4. Introduce rcu_sync_dtor().

5. Make percpu_free_rwsem() after kzalloc() safe.

6. Make use of the rcu_sync infrastructure for percpu_rwsem.

7. Fix the percpu_rwsem comments outdated by rcu_sync.

8. Clean up the lockdep annotations in percpu_down_read().

9. Change _wait_rcu_gp() to work around GCC bug 67055.

Thanx, Paul

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

b/include/linux/percpu-rwsem.h | 3
b/include/linux/rcu_sync.h | 161 +++++++++++++++++++-----
b/include/linux/rcupdate.h | 11 -
b/kernel/locking/percpu-rwsem.c | 85 ++++---------
b/kernel/rcu/Makefile | 2
b/kernel/rcu/sync.c | 259 ++++++++++++++++++++++++++++++++++++----
6 files changed, 401 insertions(+), 120 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/