On Thu, Jul 20, 2023 at 12:53:05PM -0700, Paul E. McKenney wrote: > On Thu, Jul 20, 2023 at 05:30:53PM +0100, Valentin Schneider wrote: > > We now have an RCU_EXPORT knob for configuring the size of the dynticks > > counter: CONFIG_RCU_DYNTICKS_BITS. > > > > Add a torture config for a ridiculously small counter (2 bits). This is ac > > opy of TREE4 with the added counter size restriction. > > > > Link: http://lore.kernel.org/r/4c2cb573-168f-4806-b1d9-164e8276e66a@paulmck-laptop > > Suggested-by: Paul E. McKenney <paulmck@xxxxxxxxxx> > > Signed-off-by: Valentin Schneider <vschneid@xxxxxxxxxx> > > --- > > .../selftests/rcutorture/configs/rcu/TREE11 | 19 +++++++++++++++++++ > > .../rcutorture/configs/rcu/TREE11.boot | 1 + > > 2 files changed, 20 insertions(+) > > create mode 100644 tools/testing/selftests/rcutorture/configs/rcu/TREE11 > > create mode 100644 tools/testing/selftests/rcutorture/configs/rcu/TREE11.boot > > > > diff --git a/tools/testing/selftests/rcutorture/configs/rcu/TREE11 b/tools/testing/selftests/rcutorture/configs/rcu/TREE11 > > new file mode 100644 > > index 0000000000000..aa7274efd9819 > > --- /dev/null > > +++ b/tools/testing/selftests/rcutorture/configs/rcu/TREE11 > > @@ -0,0 +1,19 @@ > > +CONFIG_SMP=y > > +CONFIG_NR_CPUS=8 > > +CONFIG_PREEMPT_NONE=n > > +CONFIG_PREEMPT_VOLUNTARY=y > > +CONFIG_PREEMPT=n > > +CONFIG_PREEMPT_DYNAMIC=n > > +#CHECK#CONFIG_TREE_RCU=y > > +CONFIG_HZ_PERIODIC=n > > +CONFIG_NO_HZ_IDLE=n > > +CONFIG_NO_HZ_FULL=y > > +CONFIG_RCU_TRACE=y > > +CONFIG_RCU_FANOUT=4 > > +CONFIG_RCU_FANOUT_LEAF=3 > > +CONFIG_DEBUG_LOCK_ALLOC=n > > +CONFIG_DEBUG_OBJECTS_RCU_HEAD=n > > +CONFIG_RCU_EXPERT=y > > +CONFIG_RCU_EQS_DEBUG=y > > +CONFIG_RCU_LAZY=y > > +CONFIG_RCU_DYNTICKS_BITS=2 > > Why not just add this last line to the existing TREE04 scenario? > That would ensure that it gets tested regularly without extending the > time required to run a full set of rcutorture tests. Please see below for the version of this patch that I am running overnight tests with. Does this one work for you? Thanx, Paul ------------------------------------------------------------------------ commit 1aa13731e665193cd833edac5ebc86a9c3fea2b7 Author: Valentin Schneider <vschneid@xxxxxxxxxx> Date: Thu Jul 20 20:58:41 2023 -0700 rcutorture: Add a test config to torture test low RCU_DYNTICKS width We now have an RCU_EXPORT knob for configuring the size of the dynticks counter: CONFIG_RCU_DYNTICKS_BITS. Modify scenario TREE04 to exercise a a ridiculously small counter (2 bits). Link: http://lore.kernel.org/r/4c2cb573-168f-4806-b1d9-164e8276e66a@paulmck-laptop Suggested-by: Paul E. McKenney <paulmck@xxxxxxxxxx> Signed-off-by: Valentin Schneider <vschneid@xxxxxxxxxx> Signed-off-by: Paul E. McKenney <paulmck@xxxxxxxxxx> diff --git a/tools/testing/selftests/rcutorture/configs/rcu/TREE04 b/tools/testing/selftests/rcutorture/configs/rcu/TREE04 index dc4985064b3a..aa7274efd981 100644 --- a/tools/testing/selftests/rcutorture/configs/rcu/TREE04 +++ b/tools/testing/selftests/rcutorture/configs/rcu/TREE04 @@ -16,3 +16,4 @@ CONFIG_DEBUG_OBJECTS_RCU_HEAD=n CONFIG_RCU_EXPERT=y CONFIG_RCU_EQS_DEBUG=y CONFIG_RCU_LAZY=y +CONFIG_RCU_DYNTICKS_BITS=2