mbox series

[0/12] SRCU-lite changes for v6.13

Message ID ff986c31-9cd0-45e5-aa31-9aedf582325f@paulmck-laptop (mailing list archive)
Headers show
Series SRCU-lite changes for v6.13 | expand

Message

Paul E. McKenney Oct. 9, 2024, 6:07 p.m. UTC
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(-)