torture: Don't cap remote runs by build-system number of CPUs
authorPaul E. McKenney <paulmck@kernel.org>
Tue, 27 Apr 2021 20:51:35 +0000 (13:51 -0700)
committerPaul E. McKenney <paulmck@kernel.org>
Mon, 10 May 2021 23:05:07 +0000 (16:05 -0700)
Currently, if a torture scenario requires more CPUs than are present
on the build system, kvm.sh and friends limit the CPUs available to
that scenario.  This makes total sense when the build system and the
system running the scenarios are one and the same, but not so much when
remote systems might well have more CPUs.

This commit therefore introduces a --remote flag to kvm.sh that suppresses
this CPU-limiting behavior, and causes kvm-remote.sh to use this flag.

Signed-off-by: Paul E. McKenney <paulmck@kernel.org>
tools/testing/selftests/rcutorture/bin/kvm-remote.sh
tools/testing/selftests/rcutorture/bin/kvm.sh

index 20e848d2c0bb3d87af904c2646079affd7edabcf..79e680e0e7bf3febde4676be43abb3ebfa8519d6 100755 (executable)
@@ -66,7 +66,7 @@ then
                if (ds != "")
                        print "--datestamp " ds;
        }'`"
-       kvm.sh "$@" $datestamp --buildonly > $T/kvm.sh.out 2>&1
+       kvm.sh --remote "$@" $datestamp --buildonly > $T/kvm.sh.out 2>&1
        ret=$?
        if test "$ret" -ne 0
        then
index 390bb97b07d8ce85adac7210c327e5086c09afe6..b4ac4ee332226bee3c8c36ab118db03d2ca57b12 100755 (executable)
@@ -44,6 +44,7 @@ TORTURE_KCONFIG_KASAN_ARG=""
 TORTURE_KCONFIG_KCSAN_ARG=""
 TORTURE_KMAKE_ARG=""
 TORTURE_QEMU_MEM=512
+TORTURE_REMOTE=
 TORTURE_SHUTDOWN_GRACE=180
 TORTURE_SUITE=rcu
 TORTURE_MOD=rcutorture
@@ -80,6 +81,7 @@ usage () {
        echo "       --no-initrd"
        echo "       --qemu-args qemu-arguments"
        echo "       --qemu-cmd qemu-system-..."
+       echo "       --remote"
        echo "       --results absolute-pathname"
        echo "       --torture lock|rcu|rcuscale|refscale|scf"
        echo "       --trust-make"
@@ -115,10 +117,13 @@ do
                checkarg --cpus "(number)" "$#" "$2" '^[0-9]*$' '^--'
                cpus=$2
                TORTURE_ALLOTED_CPUS="$2"
-               max_cpus="`identify_qemu_vcpus`"
-               if test "$TORTURE_ALLOTED_CPUS" -gt "$max_cpus"
+               if test -z "$TORTURE_REMOTE"
                then
-                       TORTURE_ALLOTED_CPUS=$max_cpus
+                       max_cpus="`identify_qemu_vcpus`"
+                       if test "$TORTURE_ALLOTED_CPUS" -gt "$max_cpus"
+                       then
+                               TORTURE_ALLOTED_CPUS=$max_cpus
+                       fi
                fi
                shift
                ;;
@@ -209,6 +214,9 @@ do
                TORTURE_QEMU_CMD="$2"
                shift
                ;;
+       --remote)
+               TORTURE_REMOTE=1
+               ;;
        --results)
                checkarg --results "(absolute pathname)" "$#" "$2" '^/' '^error'
                resdir=$2