diff mbox series

[V3] rcutorture: Add CFcommon.arch for the various arch's need

Message ID 20240612013527.1325751-1-zhouzhouyi@gmail.com
State New
Headers show
Series [V3] rcutorture: Add CFcommon.arch for the various arch's need | expand

Commit Message

Zhouyi Zhou June 12, 2024, 1:35 a.m. UTC
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@gmail.com/
[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@gmail.com>
---
 tools/testing/selftests/rcutorture/bin/kvm-test-1-run.sh       | 2 ++
 tools/testing/selftests/rcutorture/configs/rcu/CFcommon        | 1 -
 tools/testing/selftests/rcutorture/configs/rcu/CFcommon.i686   | 1 +
 tools/testing/selftests/rcutorture/configs/rcu/CFcommon.x86_64 | 1 +
 4 files changed, 4 insertions(+), 1 deletion(-)
 create mode 100644 tools/testing/selftests/rcutorture/configs/rcu/CFcommon.i686
 create mode 100644 tools/testing/selftests/rcutorture/configs/rcu/CFcommon.x86_64

Comments

Paul E. McKenney June 12, 2024, 2:57 a.m. UTC | #1
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@gmail.com/
> [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@gmail.com>

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.

							Thanx, Paul

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

commit 29cf4c63d04b9752a32e33d46a57717121353ef7
Author: Zhouyi Zhou <zhouzhouyi@gmail.com>
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@gmail.com/
    [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@kernel.org>
    Signed-off-by: Zhouyi Zhou <zhouzhouyi@gmail.com>
    Cc: Mark Rutland <mark.rutland@arm.com>
    Signed-off-by: Paul E. McKenney <paulmck@kernel.org>

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
Mark Rutland June 17, 2024, 4:28 p.m. UTC | #2
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@gmail.com/
> > [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@gmail.com>
> 
> 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!
Paul E. McKenney June 17, 2024, 4:47 p.m. UTC | #3
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@gmail.com/
> > > [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@gmail.com>
> > 
> > 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.

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.)

> 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?

							Thanx, Paul

> Mark.
> 
> > 
> > 							Thanx, Paul
> > 
> > ------------------------------------------------------------------------
> > 
> > commit 29cf4c63d04b9752a32e33d46a57717121353ef7
> > Author: Zhouyi Zhou <zhouzhouyi@gmail.com>
> > 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@gmail.com/
> >     [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@kernel.org>
> >     Signed-off-by: Zhouyi Zhou <zhouzhouyi@gmail.com>
> >     Cc: Mark Rutland <mark.rutland@arm.com>
> >     Signed-off-by: Paul E. McKenney <paulmck@kernel.org>
> > 
> > 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
diff mbox series

Patch

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 b33cd8753689..ad79784e552d 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 0e92d85313aa..cf0387ae5358 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 000000000000..2770560d56a0
--- /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 000000000000..2770560d56a0
--- /dev/null
+++ b/tools/testing/selftests/rcutorture/configs/rcu/CFcommon.x86_64
@@ -0,0 +1 @@ 
+CONFIG_HYPERVISOR_GUEST=y