On Tue, Jan 23, 2018 at 03:59:28PM +0800, liangli...@huawei.com wrote: > From: Lihao Liang <liangli...@huawei.com> > > Use the same config files as TREE02, TREE03, TREE06, TREE07, and TREE09. > > Signed-off-by: Lihao Liang <liangli...@huawei.com> > --- > .../selftests/rcutorture/configs/rcu/CFLIST | 5 ++++ > .../selftests/rcutorture/configs/rcu/PRCU02 | 27 > ++++++++++++++++++++++ > .../selftests/rcutorture/configs/rcu/PRCU02.boot | 1 + > .../selftests/rcutorture/configs/rcu/PRCU03 | 23 ++++++++++++++++++ > .../selftests/rcutorture/configs/rcu/PRCU03.boot | 2 ++ > .../selftests/rcutorture/configs/rcu/PRCU06 | 26 +++++++++++++++++++++ > .../selftests/rcutorture/configs/rcu/PRCU06.boot | 5 ++++ > .../selftests/rcutorture/configs/rcu/PRCU07 | 25 ++++++++++++++++++++ > .../selftests/rcutorture/configs/rcu/PRCU07.boot | 2 ++ > .../selftests/rcutorture/configs/rcu/PRCU09 | 19 +++++++++++++++ > .../selftests/rcutorture/configs/rcu/PRCU09.boot | 1 + > 11 files changed, 136 insertions(+) > create mode 100644 tools/testing/selftests/rcutorture/configs/rcu/PRCU02 > create mode 100644 tools/testing/selftests/rcutorture/configs/rcu/PRCU02.boot > create mode 100644 tools/testing/selftests/rcutorture/configs/rcu/PRCU03 > create mode 100644 tools/testing/selftests/rcutorture/configs/rcu/PRCU03.boot > create mode 100644 tools/testing/selftests/rcutorture/configs/rcu/PRCU06 > create mode 100644 tools/testing/selftests/rcutorture/configs/rcu/PRCU06.boot > create mode 100644 tools/testing/selftests/rcutorture/configs/rcu/PRCU07 > create mode 100644 tools/testing/selftests/rcutorture/configs/rcu/PRCU07.boot > create mode 100644 tools/testing/selftests/rcutorture/configs/rcu/PRCU09 > create mode 100644 tools/testing/selftests/rcutorture/configs/rcu/PRCU09.boot > > diff --git a/tools/testing/selftests/rcutorture/configs/rcu/CFLIST > b/tools/testing/selftests/rcutorture/configs/rcu/CFLIST > index a3a1a05a..7359e194 100644 > --- a/tools/testing/selftests/rcutorture/configs/rcu/CFLIST > +++ b/tools/testing/selftests/rcutorture/configs/rcu/CFLIST > @@ -1,3 +1,8 @@ > +PRCU02 > +PRCU03 > +PRCU06 > +PRCU07 > +PRCU09 > TREE01 > TREE02 > TREE03 > diff --git a/tools/testing/selftests/rcutorture/configs/rcu/PRCU02 > b/tools/testing/selftests/rcutorture/configs/rcu/PRCU02 > new file mode 100644 > index 00000000..5f532f05 > --- /dev/null > +++ b/tools/testing/selftests/rcutorture/configs/rcu/PRCU02 > @@ -0,0 +1,27 @@ > +CONFIG_SMP=y > +CONFIG_NR_CPUS=8 > +CONFIG_PREEMPT_NONE=n > +CONFIG_PREEMPT_VOLUNTARY=n > +CONFIG_PREEMPT=y > +CONFIG_PRCU=y > +#CHECK#CONFIG_PREEMPT_RCU=y > +CONFIG_HZ_PERIODIC=n > +CONFIG_NO_HZ_IDLE=y > +CONFIG_NO_HZ_FULL=n > +CONFIG_RCU_FAST_NO_HZ=n > +CONFIG_RCU_TRACE=n > +CONFIG_HOTPLUG_CPU=n > +CONFIG_SUSPEND=n > +CONFIG_HIBERNATION=n > +CONFIG_RCU_FANOUT=3 > +CONFIG_RCU_FANOUT_LEAF=3 > +CONFIG_RCU_NOCB_CPU=n > +CONFIG_DEBUG_LOCK_ALLOC=y > +CONFIG_PROVE_LOCKING=n > +CONFIG_RCU_BOOST=n > +CONFIG_DEBUG_OBJECTS_RCU_HEAD=n > +CONFIG_RCU_EXPERT=y > +CONFIG_RCU_TORTURE_TEST_SLOW_CLEANUP=y > +CONFIG_RCU_TORTURE_TEST_SLOW_INIT=y > +CONFIG_RCU_TORTURE_TEST_SLOW_PREINIT=y > +CONFIG_DEBUG_OBJECTS_RCU_HEAD=y > diff --git a/tools/testing/selftests/rcutorture/configs/rcu/PRCU02.boot > b/tools/testing/selftests/rcutorture/configs/rcu/PRCU02.boot > new file mode 100644 > index 00000000..6c5e626f > --- /dev/null > +++ b/tools/testing/selftests/rcutorture/configs/rcu/PRCU02.boot > @@ -0,0 +1 @@ > +rcutorture.torture_type=prcu > diff --git a/tools/testing/selftests/rcutorture/configs/rcu/PRCU03 > b/tools/testing/selftests/rcutorture/configs/rcu/PRCU03 > new file mode 100644 > index 00000000..869cadc8 > --- /dev/null > +++ b/tools/testing/selftests/rcutorture/configs/rcu/PRCU03 > @@ -0,0 +1,23 @@ > +CONFIG_SMP=y > +CONFIG_NR_CPUS=16 > +CONFIG_PREEMPT_NONE=n > +CONFIG_PREEMPT_VOLUNTARY=n > +CONFIG_PREEMPT=y > +CONFIG_PRCU=y > +#CHECK#CONFIG_PREEMPT_RCU=y > +CONFIG_HZ_PERIODIC=y > +CONFIG_NO_HZ_IDLE=n > +CONFIG_NO_HZ_FULL=n > +CONFIG_RCU_TRACE=y > +CONFIG_HOTPLUG_CPU=y
And from what I can see, PRCU doesn't handle CPU hotplug. I would not be surprised to see rcutorture failures when running this scenario. > +CONFIG_RCU_FANOUT=2 > +CONFIG_RCU_FANOUT_LEAF=2 > +CONFIG_RCU_NOCB_CPU=n > +CONFIG_DEBUG_LOCK_ALLOC=n > +CONFIG_RCU_BOOST=y > +CONFIG_RCU_KTHREAD_PRIO=2 > +CONFIG_DEBUG_OBJECTS_RCU_HEAD=n > +CONFIG_RCU_EXPERT=y > +CONFIG_RCU_TORTURE_TEST_SLOW_CLEANUP=y > +CONFIG_RCU_TORTURE_TEST_SLOW_INIT=y > +CONFIG_RCU_TORTURE_TEST_SLOW_PREINIT=y > diff --git a/tools/testing/selftests/rcutorture/configs/rcu/PRCU03.boot > b/tools/testing/selftests/rcutorture/configs/rcu/PRCU03.boot > new file mode 100644 > index 00000000..0be10cba > --- /dev/null > +++ b/tools/testing/selftests/rcutorture/configs/rcu/PRCU03.boot > @@ -0,0 +1,2 @@ > +rcutorture.onoff_interval=1 rcutorture.onoff_holdoff=30 > +rcutorture.torture_type=prcu > diff --git a/tools/testing/selftests/rcutorture/configs/rcu/PRCU06 > b/tools/testing/selftests/rcutorture/configs/rcu/PRCU06 > new file mode 100644 > index 00000000..b1480963 > --- /dev/null > +++ b/tools/testing/selftests/rcutorture/configs/rcu/PRCU06 > @@ -0,0 +1,26 @@ > +CONFIG_SMP=y > +CONFIG_NR_CPUS=8 > +CONFIG_PREEMPT_NONE=y > +CONFIG_PREEMPT_VOLUNTARY=n > +CONFIG_PREEMPT=n > +CONFIG_PRCU=y > +#CHECK#CONFIG_TREE_RCU=y > +CONFIG_HZ_PERIODIC=n > +CONFIG_NO_HZ_IDLE=y > +CONFIG_NO_HZ_FULL=n > +CONFIG_RCU_FAST_NO_HZ=n > +CONFIG_RCU_TRACE=n > +CONFIG_HOTPLUG_CPU=n > +CONFIG_SUSPEND=n > +CONFIG_HIBERNATION=n > +CONFIG_RCU_FANOUT=6 > +CONFIG_RCU_FANOUT_LEAF=6 > +CONFIG_RCU_NOCB_CPU=n > +CONFIG_DEBUG_LOCK_ALLOC=y > +CONFIG_PROVE_LOCKING=y > +#CHECK#CONFIG_PROVE_RCU=y > +CONFIG_DEBUG_OBJECTS_RCU_HEAD=y > +CONFIG_RCU_EXPERT=y > +CONFIG_RCU_TORTURE_TEST_SLOW_CLEANUP=y > +CONFIG_RCU_TORTURE_TEST_SLOW_INIT=y > +CONFIG_RCU_TORTURE_TEST_SLOW_PREINIT=y > diff --git a/tools/testing/selftests/rcutorture/configs/rcu/PRCU06.boot > b/tools/testing/selftests/rcutorture/configs/rcu/PRCU06.boot > new file mode 100644 > index 00000000..00787e68 > --- /dev/null > +++ b/tools/testing/selftests/rcutorture/configs/rcu/PRCU06.boot > @@ -0,0 +1,5 @@ > +rcupdate.rcu_self_test=1 > +rcupdate.rcu_self_test_bh=1 > +rcupdate.rcu_self_test_sched=1 > +rcutree.rcu_fanout_exact=1 > +rcutorture.torture_type=prcu > diff --git a/tools/testing/selftests/rcutorture/configs/rcu/PRCU07 > b/tools/testing/selftests/rcutorture/configs/rcu/PRCU07 > new file mode 100644 > index 00000000..14f74c68 > --- /dev/null > +++ b/tools/testing/selftests/rcutorture/configs/rcu/PRCU07 > @@ -0,0 +1,25 @@ > +CONFIG_SMP=y > +CONFIG_NR_CPUS=16 > +CONFIG_CPUMASK_OFFSTACK=y > +CONFIG_PREEMPT_NONE=y > +CONFIG_PREEMPT_VOLUNTARY=n > +CONFIG_PREEMPT=n > +CONFIG_PRCU=y > +#CHECK#CONFIG_TREE_RCU=y > +CONFIG_HZ_PERIODIC=n > +CONFIG_NO_HZ_IDLE=n > +CONFIG_NO_HZ_FULL=y > +CONFIG_NO_HZ_FULL_ALL=n > +CONFIG_NO_HZ_FULL_SYSIDLE=y > +CONFIG_RCU_FAST_NO_HZ=n > +CONFIG_RCU_TRACE=y > +CONFIG_HOTPLUG_CPU=y And this one. > +CONFIG_RCU_FANOUT=2 > +CONFIG_RCU_FANOUT_LEAF=2 > +CONFIG_RCU_NOCB_CPU=n > +CONFIG_DEBUG_LOCK_ALLOC=n > +CONFIG_DEBUG_OBJECTS_RCU_HEAD=n > +CONFIG_RCU_EXPERT=y > +CONFIG_RCU_TORTURE_TEST_SLOW_CLEANUP=y > +CONFIG_RCU_TORTURE_TEST_SLOW_INIT=y > +CONFIG_RCU_TORTURE_TEST_SLOW_PREINIT=y > diff --git a/tools/testing/selftests/rcutorture/configs/rcu/PRCU07.boot > b/tools/testing/selftests/rcutorture/configs/rcu/PRCU07.boot > new file mode 100644 > index 00000000..43dac30b > --- /dev/null > +++ b/tools/testing/selftests/rcutorture/configs/rcu/PRCU07.boot > @@ -0,0 +1,2 @@ > +nohz_full=2-9 > +rcutorture.torture_type=prcu > diff --git a/tools/testing/selftests/rcutorture/configs/rcu/PRCU09 > b/tools/testing/selftests/rcutorture/configs/rcu/PRCU09 > new file mode 100644 > index 00000000..43d4718d > --- /dev/null > +++ b/tools/testing/selftests/rcutorture/configs/rcu/PRCU09 > @@ -0,0 +1,19 @@ > +CONFIG_SMP=n > +CONFIG_NR_CPUS=1 > +CONFIG_PREEMPT_NONE=n > +CONFIG_PREEMPT_VOLUNTARY=n > +CONFIG_PREEMPT=y > +CONFIG_PRCU=y > +#CHECK#CONFIG_PREEMPT_RCU=y > +CONFIG_HZ_PERIODIC=n > +CONFIG_NO_HZ_IDLE=y > +CONFIG_NO_HZ_FULL=n > +CONFIG_RCU_TRACE=n > +CONFIG_HOTPLUG_CPU=n > +CONFIG_SUSPEND=n > +CONFIG_HIBERNATION=n > +CONFIG_RCU_NOCB_CPU=n > +CONFIG_DEBUG_LOCK_ALLOC=n > +CONFIG_RCU_BOOST=n > +CONFIG_DEBUG_OBJECTS_RCU_HEAD=n > +#CHECK#CONFIG_RCU_EXPERT=n > diff --git a/tools/testing/selftests/rcutorture/configs/rcu/PRCU09.boot > b/tools/testing/selftests/rcutorture/configs/rcu/PRCU09.boot > new file mode 100644 > index 00000000..6c5e626f > --- /dev/null > +++ b/tools/testing/selftests/rcutorture/configs/rcu/PRCU09.boot > @@ -0,0 +1 @@ > +rcutorture.torture_type=prcu > -- > 2.14.1.729.g59c0ea183 >