On ARM64, when running with --configs '36*SRCU-P', I noticed that only 1 instance
instead of 36 for starting.
Fix it by checking for Image files, instead of bzImage which ARM does
not seem to have. With this I see all 36 instances running at the same
time in the batch.
Tested-by: Paul E. McKenney <paulmck@kernel.org>
Signed-off-by: Joel Fernandes <joelagnelf@nvidia.com>
---
kernel/rcu/rcutorture.c | 3 ++-
tools/testing/selftests/rcutorture/bin/kvm-test-1-run.sh | 2 +-
2 files changed, 3 insertions(+), 2 deletions(-)
diff --git a/kernel/rcu/rcutorture.c b/kernel/rcu/rcutorture.c
index 74de92c3a9ab..df6504a855aa 100644
--- a/kernel/rcu/rcutorture.c
+++ b/kernel/rcu/rcutorture.c
@@ -2412,7 +2412,8 @@ rcu_torture_stats_print(void)
pipesummary[i] += READ_ONCE(per_cpu(rcu_torture_count, cpu)[i]);
batchsummary[i] += READ_ONCE(per_cpu(rcu_torture_batch, cpu)[i]);
}
- n_gpwraps += cur_ops->get_gpwrap_count(cpu);
+ if (cur_ops->get_gpwrap_count)
+ n_gpwraps += cur_ops->get_gpwrap_count(cpu);
}
for (i = RCU_TORTURE_PIPE_LEN; i >= 0; i--) {
if (pipesummary[i] != 0)
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 ad79784e552d..957800c9ffba 100755
--- a/tools/testing/selftests/rcutorture/bin/kvm-test-1-run.sh
+++ b/tools/testing/selftests/rcutorture/bin/kvm-test-1-run.sh
@@ -73,7 +73,7 @@ config_override_param "$config_dir/CFcommon.$(uname -m)" KcList \
cp $T/KcList $resdir/ConfigFragment
base_resdir=`echo $resdir | sed -e 's/\.[0-9]\+$//'`
-if test "$base_resdir" != "$resdir" && test -f $base_resdir/bzImage && test -f $base_resdir/vmlinux
+if test "$base_resdir" != "$resdir" && (test -f $base_resdir/bzImage || test -f $base_resdir/Image) && test -f $base_resdir/vmlinux
then
# Rerunning previous test, so use that test's kernel.
QEMU="`identify_qemu $base_resdir/vmlinux`"
--
2.43.0
On 4/15/2025 9:36 AM, Joel Fernandes wrote: > On ARM64, when running with --configs '36*SRCU-P', I noticed that only 1 instance > instead of 36 for starting. > > Fix it by checking for Image files, instead of bzImage which ARM does > not seem to have. With this I see all 36 instances running at the same > time in the batch. > > Tested-by: Paul E. McKenney <paulmck@kernel.org> > Signed-off-by: Joel Fernandes <joelagnelf@nvidia.com> > --- > kernel/rcu/rcutorture.c | 3 ++- > tools/testing/selftests/rcutorture/bin/kvm-test-1-run.sh | 2 +- > 2 files changed, 3 insertions(+), 2 deletions(-) > > diff --git a/kernel/rcu/rcutorture.c b/kernel/rcu/rcutorture.c > index 74de92c3a9ab..df6504a855aa 100644 > --- a/kernel/rcu/rcutorture.c > +++ b/kernel/rcu/rcutorture.c > @@ -2412,7 +2412,8 @@ rcu_torture_stats_print(void) > pipesummary[i] += READ_ONCE(per_cpu(rcu_torture_count, cpu)[i]); > batchsummary[i] += READ_ONCE(per_cpu(rcu_torture_batch, cpu)[i]); > } > - n_gpwraps += cur_ops->get_gpwrap_count(cpu); > + if (cur_ops->get_gpwrap_count) > + n_gpwraps += cur_ops->get_gpwrap_count(cpu); > } Oops, this hunk was supposed to go into the previous patch. I fixed it in my tree and will post with the full set of torture patches later: https://git.kernel.org/pub/scm/linux/kernel/git/jfern/linux.git/log/?h=rcu/torture-for-6.16 Thanks.
© 2016 - 2025 Red Hat, Inc.