On Tue, Jun 18, 2024 at 12:47 AM Paul E. McKenney <paulmck@xxxxxxxxxx> wrote: > > On Mon, Jun 17, 2024 at 05:28:14PM +0100, Mark Rutland wrote: > > On Tue, Jun 11, 2024 at 07:57:29PM -0700, Paul E. McKenney wrote: > > > On Wed, Jun 12, 2024 at 01:35:27AM +0000, Zhouyi Zhou wrote: > > > > Add CFcommon.arch for the various arch's need for rcutorture. > > > > > > > > According to [1] and [2], this patch > > > > Fixes: a6fda6dab93c ("rcutorture: Tweak kvm options") by moving > > > > x86 specific kernel option CONFIG_HYPERVISOR_GUEST to CFcommon.arch > > > > > > > > The patch has been revised and improved under > > > > Paul E. McKenney's guidance [3]. > > > > > > > > [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/lkml/cd3709dc-2c08-4ac2-a19b-d8edb66195e3@paulmck-laptop/T/ > > > > > > > > Tested in x86_64 and PPC VM of Open Source Lab of Oregon State University. > > > > > > > > Signed-off-by: Zhouyi Zhou <zhouzhouyi@xxxxxxxxx> > > > > > > Much better, thank you! > > > > > > I queued and pushed for review and testing with the usual editing, > > > so please let me know if I messed anything up. > > > > > > I added Mark on CC in case he has thoughts from an ARM perspective. > > > > Ah, thanks! > > > > >From a quick scan, the only thing I spot is that CONFIG_KVM_GUEST is > > also not an arm64 thing, and only exists on x86 & powerpc, so pulling > > that out too would be nice. yes, CONFIG_KVM_GUEST exists in powerpc & x86, which makes me think it is global. > > Thank you for looking this over! > > Zhouyi, would you be willing to add this change, either as a new version > of this patch or as a new patch on top of it? (Your choice.) Thanks to Paul and Mark's guidance, I achieved a lot during this process ;-) I am going to create a new version of the patch, and test is both on X86 and PowerPC Cheers Zhouyi > > > That aside, this looks good to me; having the infrastructure to do this > > per-arch is nice! > > Glad you like it! May we have your ack? Very happy that Mark likes it ;-) > > Thanx, Paul > > > Mark. > > > > > > > > Thanx, Paul > > > > > > ------------------------------------------------------------------------ > > > > > > commit 29cf4c63d04b9752a32e33d46a57717121353ef7 > > > Author: Zhouyi Zhou <zhouzhouyi@xxxxxxxxx> > > > Date: Wed Jun 12 01:35:27 2024 +0000 > > > > > > rcutorture: Add CFcommon.arch for the various arch's need > > > > > > Add CFcommon.arch for the various arch's need for rcutorture. > > > > > > In accordance with [1] and [2], this patch moves x86 specific kernel > > > option CONFIG_HYPERVISOR_GUEST 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/ > > > > > > Tested in x86_64 and PPC VM of Open Source Lab of Oregon State University. > > > > > > Link: https://lore.kernel.org/lkml/cd3709dc-2c08-4ac2-a19b-d8edb66195e3@paulmck-laptop/T/ > > > > > > Fixes: a6fda6dab93c ("rcutorture: Tweak kvm options") > > > Suggested-by: Paul E. McKenney <paulmck@xxxxxxxxxx> > > > Signed-off-by: Zhouyi Zhou <zhouzhouyi@xxxxxxxxx> > > > Cc: Mark Rutland <mark.rutland@xxxxxxx> > > > Signed-off-by: Paul E. McKenney <paulmck@xxxxxxxxxx> > > > > > > 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..cf0387ae53584 100644 > > > --- a/tools/testing/selftests/rcutorture/configs/rcu/CFcommon > > > +++ b/tools/testing/selftests/rcutorture/configs/rcu/CFcommon > > > @@ -1,6 +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 > > > 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..2770560d56a0c > > > --- /dev/null > > > +++ b/tools/testing/selftests/rcutorture/configs/rcu/CFcommon.i686 > > > @@ -0,0 +1 @@ > > > +CONFIG_HYPERVISOR_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..2770560d56a0c > > > --- /dev/null > > > +++ b/tools/testing/selftests/rcutorture/configs/rcu/CFcommon.x86_64 > > > @@ -0,0 +1 @@ > > > +CONFIG_HYPERVISOR_GUEST=y