On Thu, Jun 20, 2024 at 10:57:27AM -0700, Paul E. McKenney wrote: > On Wed, Jun 19, 2024 at 11:06:58PM +0000, Zhouyi Zhou wrote: > > Add CFcommon.arch for the various arch's need for rcutorture. > > > > In accordance with [1], [2] and [3], move x86 specific kernel option > > CONFIG_HYPERVISOR_GUEST to CFcommon.arch, also move kernel option > > CONFIG_KVM_GUEST which only exists on x86 & PowerPC to CFcommon.arch. > > > > [1] https://lore.kernel.org/all/20240427005626.1365935-1-zhouzhouyi@xxxxxxxxx/ > > [2] https://lore.kernel.org/all/059d36ce-6453-42be-a31e-895abd35d590@paulmck-laptop/ > > [3] https://lore.kernel.org/all/ZnBkHosMDhsh4H8g@J2N7QTR9R3/ > > > > Tested in x86_64 and PPC VM of Open Source Lab of Oregon State University. > > > > Fixes: a6fda6dab93c ("rcutorture: Tweak kvm options") > > Suggested-by: Paul E. McKenney <paulmck@xxxxxxxxxx> > > Suggested-by: Mark Rutland <mark.rutland@xxxxxxx> > > Signed-off-by: Zhouyi Zhou <zhouzhouyi@xxxxxxxxx> > > Thank you! I have reverted the earlier version to queue this one. > Please check below to make sure that my usual wordsmithing did not mess > things up. > > Mark, any suggestions for any needed ARM CFcommon.arch files? Or does > moving out the x86/PowerPC-specific Kconfig options take care of things > for you guys? (Hey, I can dream, can't I?) I'm not aware of anything that we specifically need enabled, so pulling out those bits should be everything -- I've given my Ack below. > Thanx, Paul > > ------------------------------------------------------------------------ > > commit 9d6767c47ce4de2ef817e47a5882748d8008ebe9 > Author: Zhouyi Zhou <zhouzhouyi@xxxxxxxxx> > Date: Wed Jun 19 23:06:58 2024 +0000 > > rcutorture: Add CFcommon.arch for arch-specific Kconfig options > > Add CFcommon.arch for arch-specific Kconfig options. > > In accordance with [1], [2] and [3], move the x86-specific kernel option > CONFIG_HYPERVISOR_GUEST to CFcommon.i686 and CFcommon.x86_64, and also > move the x86/PowerPC CONFIG_KVM_GUEST Kconfig option to CFcommon.i686, > CFcommon.x86_64, and CFcommon.ppc64le. > > The "arch" in CFcommon.arch is taken from the "uname -m" command. > > [1] https://lore.kernel.org/all/20240427005626.1365935-1-zhouzhouyi@xxxxxxxxx/ > [2] https://lore.kernel.org/all/059d36ce-6453-42be-a31e-895abd35d590@paulmck-laptop/ > [3] https://lore.kernel.org/all/ZnBkHosMDhsh4H8g@J2N7QTR9R3/ > > Tested in x86_64 and PPC VM of Open Source Lab of Oregon State University. > > Fixes: a6fda6dab93c ("rcutorture: Tweak kvm options") > Suggested-by: Paul E. McKenney <paulmck@xxxxxxxxxx> > Suggested-by: Mark Rutland <mark.rutland@xxxxxxx> > Signed-off-by: Zhouyi Zhou <zhouzhouyi@xxxxxxxxx> > Signed-off-by: Paul E. McKenney <paulmck@xxxxxxxxxx> Acked-by: Mark Rutland <mark.rutland@xxxxxxx> Mark. > > diff --git a/tools/testing/selftests/rcutorture/bin/kvm-test-1-run.sh b/tools/testing/selftests/rcutorture/bin/kvm-test-1-run.sh > index b33cd87536899..ad79784e552d2 100755 > --- a/tools/testing/selftests/rcutorture/bin/kvm-test-1-run.sh > +++ b/tools/testing/selftests/rcutorture/bin/kvm-test-1-run.sh > @@ -68,6 +68,8 @@ config_override_param "--gdb options" KcList "$TORTURE_KCONFIG_GDB_ARG" > config_override_param "--kasan options" KcList "$TORTURE_KCONFIG_KASAN_ARG" > config_override_param "--kcsan options" KcList "$TORTURE_KCONFIG_KCSAN_ARG" > config_override_param "--kconfig argument" KcList "$TORTURE_KCONFIG_ARG" > +config_override_param "$config_dir/CFcommon.$(uname -m)" KcList \ > + "`cat $config_dir/CFcommon.$(uname -m) 2> /dev/null`" > cp $T/KcList $resdir/ConfigFragment > > base_resdir=`echo $resdir | sed -e 's/\.[0-9]\+$//'` > diff --git a/tools/testing/selftests/rcutorture/configs/rcu/CFcommon b/tools/testing/selftests/rcutorture/configs/rcu/CFcommon > index 0e92d85313aa7..217597e849052 100644 > --- a/tools/testing/selftests/rcutorture/configs/rcu/CFcommon > +++ b/tools/testing/selftests/rcutorture/configs/rcu/CFcommon > @@ -1,7 +1,5 @@ > CONFIG_RCU_TORTURE_TEST=y > CONFIG_PRINTK_TIME=y > -CONFIG_HYPERVISOR_GUEST=y > CONFIG_PARAVIRT=y > -CONFIG_KVM_GUEST=y > CONFIG_KCSAN_ASSUME_PLAIN_WRITES_ATOMIC=n > CONFIG_KCSAN_REPORT_VALUE_CHANGE_ONLY=n > diff --git a/tools/testing/selftests/rcutorture/configs/rcu/CFcommon.i686 b/tools/testing/selftests/rcutorture/configs/rcu/CFcommon.i686 > new file mode 100644 > index 0000000000000..d8b2f555686fb > --- /dev/null > +++ b/tools/testing/selftests/rcutorture/configs/rcu/CFcommon.i686 > @@ -0,0 +1,2 @@ > +CONFIG_HYPERVISOR_GUEST=y > +CONFIG_KVM_GUEST=y > diff --git a/tools/testing/selftests/rcutorture/configs/rcu/CFcommon.ppc64le b/tools/testing/selftests/rcutorture/configs/rcu/CFcommon.ppc64le > new file mode 100644 > index 0000000000000..133da04247ee0 > --- /dev/null > +++ b/tools/testing/selftests/rcutorture/configs/rcu/CFcommon.ppc64le > @@ -0,0 +1 @@ > +CONFIG_KVM_GUEST=y > diff --git a/tools/testing/selftests/rcutorture/configs/rcu/CFcommon.x86_64 b/tools/testing/selftests/rcutorture/configs/rcu/CFcommon.x86_64 > new file mode 100644 > index 0000000000000..d8b2f555686fb > --- /dev/null > +++ b/tools/testing/selftests/rcutorture/configs/rcu/CFcommon.x86_64 > @@ -0,0 +1,2 @@ > +CONFIG_HYPERVISOR_GUEST=y > +CONFIG_KVM_GUEST=y