[PATCH v2 0/12]

Paul E. McKenney
2025-03-31T21:02:53Z

Hello!

The following series improves testing of SRCU-fast and SRCU up/down,
deprecates SRCU-lite, enables torture.sh to skip non-debug testing,
and adds testing for Rust's RCU bindings. The Rust RCU patch is very
much in RFC state, but I am posting it anyway for wider exposure.

1. Make srcu_lockdep.sh check kernel Kconfig.

2. Make srcu_lockdep.sh check reader-conflict handling.

3. Split out beginning and end from rcu_torture_one_read().

4. Make torture.sh --do-rt use CONFIG_PREEMPT_RT.

5. Add tests for SRCU up/down reader primitives.

6. Pull rcu_torture_updown() loop body into new function.

7. Comment invocations of tick_dep_set_task().

8. Complain if an ->up_read() is delayed more than 10 seconds.

9. Check for ->up_read() without matching ->down_read().

10. Deprecate srcu_read_lock_lite() and srcu_read_unlock_lite().

11. Add --do-{,no-}normal to torture.sh.

12. Add testing of RCU's Rust bindings to torture.sh. (RFC)

Changes since v1:

o Apply Z Qiang feedback.

o Add SRCU-lite deprecation, torture.sh --do-{,no-}normal, and
testing of RCU's Rust bindings.

https://lore.kernel.org/all/4bf081c8-9299-4ee3-b337-d5b751cef6be@paulmck-laptop/

Thanx, Paul

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

b/kernel/rcu/rcutorture.c | 124 ++++--
b/scripts/checkpatch.pl | 2
b/tools/testing/selftests/rcutorture/bin/srcu_lockdep.sh | 11
b/tools/testing/selftests/rcutorture/bin/torture.sh | 12
kernel/rcu/rcutorture.c | 298 ++++++++++++---
tools/testing/selftests/rcutorture/bin/srcu_lockdep.sh | 31 +
tools/testing/selftests/rcutorture/bin/torture.sh | 75 +++
7 files changed, 457 insertions(+), 96 deletions(-)