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 20e848d..79e680e 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 390bb97..b4ac4ee 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