[PATCH rcu 0/12] SRCU-lite changes for v6.13
From: Paul E. McKenney
Date: Wed Oct 09 2024 - 14:07:30 EST
Hello!
This series adds support and testing for srcu_read_lock_lite()
and srcu_read_unlock_lite(), which avoid smp_mb(), but add a
couple of synchronize_rcu() calls to the grace-period processing
and may only be used where RCU is watching.
1. Rename srcu_might_be_idle() to srcu_should_expedite().
2. Introduce srcu_gp_is_expedited() helper function.
3. Renaming in preparation for additional reader flavor.
4. Bit manipulation changes for additional reader flavor.
5. Standardize srcu_data pointers to "sdp" and similar.
6. Add srcu_read_lock_lite() and srcu_read_unlock_lite().
7. Allow inlining of __srcu_read_{,un}lock_lite().
8. Expand RCUTORTURE_RDR_MASK_[12] to eight bits.
9. Add reader_flavor parameter for SRCU readers.
10. Add srcu_read_lock_lite() support to rcutorture.reader_flavor.
11. Add light-weight SRCU scenario.
12. Add srcu_read_lock_lite() support using "srcu-lite".
Thanx, Paul
------------------------------------------------------------------------
Documentation/admin-guide/kernel-parameters.txt | 4
b/Documentation/admin-guide/kernel-parameters.txt | 8
b/include/linux/srcu.h | 21 -
b/include/linux/srcutree.h | 2
b/kernel/rcu/rcutorture.c | 28 -
b/kernel/rcu/refscale.c | 51 ++
b/kernel/rcu/srcutree.c | 16
b/tools/testing/selftests/rcutorture/configs/rcu/CFLIST | 1
b/tools/testing/selftests/rcutorture/configs/rcu/SRCU-L | 10
b/tools/testing/selftests/rcutorture/configs/rcu/SRCU-L.boot | 3
b/tools/testing/selftests/rcutorture/configs/rcu/SRCU-N.boot | 1
b/tools/testing/selftests/rcutorture/configs/rcu/TREE10 | 2
include/linux/srcu.h | 86 +++-
include/linux/srcutree.h | 44 ++
kernel/rcu/rcutorture.c | 37 +
kernel/rcu/srcutree.c | 207 ++++++-----
16 files changed, 361 insertions(+), 160 deletions(-)