From: "Paul E. McKenney" <[email protected]>

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 <[email protected]>
---
 tools/testing/selftests/rcutorture/bin/kvm.sh | 8 +++++++-
 1 file changed, 7 insertions(+), 1 deletion(-)

diff --git a/tools/testing/selftests/rcutorture/bin/kvm.sh 
b/tools/testing/selftests/rcutorture/bin/kvm.sh
index 6f21268..472929c 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
-- 
2.9.5

Reply via email to