diff mbox series

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

Message ID 20240612013527.1325751-1-zhouzhouyi@gmail.com (mailing list archive)
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!

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.

That aside, this looks good to me; having the infrastructure to do this
per-arch is nice!

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
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
Zhouyi Zhou June 17, 2024, 10:41 p.m. UTC | #4
On Tue, Jun 18, 2024 at 12:47 AM Paul E. McKenney <paulmck@kernel.org> 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@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.
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@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
Paul E. McKenney June 18, 2024, 2:30 p.m. UTC | #5
On Tue, Jun 18, 2024 at 06:41:22AM +0800, Zhouyi Zhou wrote:
> On Tue, Jun 18, 2024 at 12:47 AM Paul E. McKenney <paulmck@kernel.org> 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@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.
> 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

Very good, looking forward to it!

							Thanx, Paul

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