summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorPaul E. McKenney <paulmck@kernel.org>2020-11-24 13:12:13 -0800
committerPaul E. McKenney <paulmck@kernel.org>2021-01-04 14:01:22 -0800
commit22bf64cc94832a3b047a1412a4ad0f7d9bd6cd8b (patch)
treec681d2e6617663301f73d512f40915126ed99edf
parent23239fc075d60a942101227c42353b5ced804269 (diff)
downloadlinux-stable-22bf64cc94832a3b047a1412a4ad0f7d9bd6cd8b.tar.gz
linux-stable-22bf64cc94832a3b047a1412a4ad0f7d9bd6cd8b.tar.bz2
linux-stable-22bf64cc94832a3b047a1412a4ad0f7d9bd6cd8b.zip
torture: Make kvm.sh include --kconfig arguments in CPU calculation
Currently, passing something like "--kconfig CONFIG_NR_CPUS=2" to kvm.sh has no effect on scenario scheduling. For scenarios that do not specify the number of CPUs, this can result in kvm.sh wastefully scheduling only one scenario at a time even when the --kconfig argument would allow a number to be run concurrently. This commit therefore makes kvm.sh consider the --kconfig arguments when scheduling scenarios across the available CPUs. Signed-off-by: Paul E. McKenney <paulmck@kernel.org>
-rwxr-xr-xtools/testing/selftests/rcutorture/bin/kvm.sh8
1 files changed, 7 insertions, 1 deletions
diff --git a/tools/testing/selftests/rcutorture/bin/kvm.sh b/tools/testing/selftests/rcutorture/bin/kvm.sh
index 6f2126815e22..472929cb8312 100755
--- a/tools/testing/selftests/rcutorture/bin/kvm.sh
+++ b/tools/testing/selftests/rcutorture/bin/kvm.sh
@@ -290,7 +290,13 @@ for CF1 in $configs_derep
do
if test -f "$CONFIGFRAG/$CF1"
then
- cpu_count=`configNR_CPUS.sh $CONFIGFRAG/$CF1`
+ if echo "$TORTURE_KCONFIG_ARG" | grep -q '\<CONFIG_NR_CPUS='
+ then
+ echo "$TORTURE_KCONFIG_ARG" | tr -s ' ' | tr ' ' '\012' > $T/KCONFIG_ARG
+ cpu_count=`configNR_CPUS.sh $T/KCONFIG_ARG`
+ else
+ cpu_count=`configNR_CPUS.sh $CONFIGFRAG/$CF1`
+ fi
cpu_count=`configfrag_boot_cpus "$TORTURE_BOOTARGS" "$CONFIGFRAG/$CF1" "$cpu_count"`
cpu_count=`configfrag_boot_maxcpus "$TORTURE_BOOTARGS" "$CONFIGFRAG/$CF1" "$cpu_count"`
echo $CF1 $cpu_count >> $T/cfgcpu