torture: Auto-size SCF and scaling runs based on number of CPUs
This commit improves torture.sh flexibility by autoscaling the number of CPUs to be used in variable-CPUs torture tests, including scftorture, refscale, rcuscale, and kvfree. Signed-off-by: Paul E. McKenney <paulmck@kernel.org>
This commit is contained in:
parent
a115a775a8
commit
69d2b33e3f
@ -19,6 +19,11 @@ PATH=${KVM}/bin:$PATH; export PATH
|
|||||||
|
|
||||||
TORTURE_ALLOTED_CPUS="`identify_qemu_vcpus`"
|
TORTURE_ALLOTED_CPUS="`identify_qemu_vcpus`"
|
||||||
MAKE_ALLOTED_CPUS=$((TORTURE_ALLOTED_CPUS*2))
|
MAKE_ALLOTED_CPUS=$((TORTURE_ALLOTED_CPUS*2))
|
||||||
|
HALF_ALLOTED_CPUS=$((TORTURE_ALLOTED_CPUS/2))
|
||||||
|
if test "$HALF_ALLOTED_CPUS" -lt 1
|
||||||
|
then
|
||||||
|
HALF_ALLOTED_CPUS=1
|
||||||
|
fi
|
||||||
|
|
||||||
# Default duration and apportionment.
|
# Default duration and apportionment.
|
||||||
duration_base=10
|
duration_base=10
|
||||||
@ -291,8 +296,8 @@ fi
|
|||||||
|
|
||||||
if test "$do_scftorture" = "yes"
|
if test "$do_scftorture" = "yes"
|
||||||
then
|
then
|
||||||
torture_bootargs="scftorture.nthreads=224 torture.disable_onoff_at_boot"
|
torture_bootargs="scftorture.nthreads=$HALF_ALLOTED_CPUS torture.disable_onoff_at_boot"
|
||||||
torture_set "scftorture" tools/testing/selftests/rcutorture/bin/kvm.sh --torture scf --allcpus --duration "$duration_scftorture" --kconfig "CONFIG_NR_CPUS=224" --trust-make
|
torture_set "scftorture" tools/testing/selftests/rcutorture/bin/kvm.sh --torture scf --allcpus --duration "$duration_scftorture" --kconfig "CONFIG_NR_CPUS=$HALF_ALLOTED_CPUS" --trust-make
|
||||||
fi
|
fi
|
||||||
|
|
||||||
if test "$do_refscale" = yes
|
if test "$do_refscale" = yes
|
||||||
@ -303,8 +308,8 @@ else
|
|||||||
fi
|
fi
|
||||||
for prim in $primlist
|
for prim in $primlist
|
||||||
do
|
do
|
||||||
torture_bootargs="refscale.scale_type="$prim" refscale.nreaders=224 refscale.loops=10000 refscale.holdoff=20 torture.disable_onoff_at_boot"
|
torture_bootargs="refscale.scale_type="$prim" refscale.nreaders=$HALF_ALLOTED_CPUS refscale.loops=10000 refscale.holdoff=20 torture.disable_onoff_at_boot"
|
||||||
torture_set "refscale-$prim" tools/testing/selftests/rcutorture/bin/kvm.sh --torture refscale --allcpus --duration 5 --kconfig "CONFIG_NR_CPUS=224" --trust-make
|
torture_set "refscale-$prim" tools/testing/selftests/rcutorture/bin/kvm.sh --torture refscale --allcpus --duration 5 --kconfig "CONFIG_NR_CPUS=$HALF_ALLOTED_CPUS" --trust-make
|
||||||
done
|
done
|
||||||
|
|
||||||
if test "$do_rcuscale" = yes
|
if test "$do_rcuscale" = yes
|
||||||
@ -315,14 +320,14 @@ else
|
|||||||
fi
|
fi
|
||||||
for prim in $primlist
|
for prim in $primlist
|
||||||
do
|
do
|
||||||
torture_bootargs="rcuscale.scale_type="$prim" rcuscale.nwriters=224 rcuscale.holdoff=20 torture.disable_onoff_at_boot"
|
torture_bootargs="rcuscale.scale_type="$prim" rcuscale.nwriters=$HALF_ALLOTED_CPUS rcuscale.holdoff=20 torture.disable_onoff_at_boot"
|
||||||
torture_set "rcuscale-$prim" tools/testing/selftests/rcutorture/bin/kvm.sh --torture rcuscale --allcpus --duration 5 --kconfig "CONFIG_NR_CPUS=224" --trust-make
|
torture_set "rcuscale-$prim" tools/testing/selftests/rcutorture/bin/kvm.sh --torture rcuscale --allcpus --duration 5 --kconfig "CONFIG_NR_CPUS=$HALF_ALLOTED_CPUS" --trust-make
|
||||||
done
|
done
|
||||||
|
|
||||||
if test "$do_kvfree" = "yes"
|
if test "$do_kvfree" = "yes"
|
||||||
then
|
then
|
||||||
torture_bootargs="rcuscale.kfree_rcu_test=1 rcuscale.kfree_nthreads=16 rcuscale.holdoff=20 rcuscale.kfree_loops=10000 torture.disable_onoff_at_boot"
|
torture_bootargs="rcuscale.kfree_rcu_test=1 rcuscale.kfree_nthreads=16 rcuscale.holdoff=20 rcuscale.kfree_loops=10000 torture.disable_onoff_at_boot"
|
||||||
torture_set "rcuscale-kvfree" tools/testing/selftests/rcutorture/bin/kvm.sh --torture rcuscale --allcpus --duration 10 --kconfig "CONFIG_NR_CPUS=224" --trust-make
|
torture_set "rcuscale-kvfree" tools/testing/selftests/rcutorture/bin/kvm.sh --torture rcuscale --allcpus --duration 10 --kconfig "CONFIG_NR_CPUS=$HALF_ALLOTED_CPUS" --trust-make
|
||||||
fi
|
fi
|
||||||
|
|
||||||
echo " --- " $scriptname $args
|
echo " --- " $scriptname $args
|
||||||
|
Loading…
Reference in New Issue
Block a user