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(-)