torture: Add scftorture to the rcutorture scripting
This commit updates the rcutorture scripting to include the new scftorture torture-test module. Signed-off-by: Paul E. McKenney <paulmck@kernel.org>
This commit is contained in:
parent
687d4775db
commit
80c9476e68
38
tools/testing/selftests/rcutorture/bin/kvm-recheck-scf.sh
Executable file
38
tools/testing/selftests/rcutorture/bin/kvm-recheck-scf.sh
Executable file
|
@ -0,0 +1,38 @@
|
|||
#!/bin/bash
|
||||
# SPDX-License-Identifier: GPL-2.0+
|
||||
#
|
||||
# Analyze a given results directory for rcutorture progress.
|
||||
#
|
||||
# Usage: kvm-recheck-rcu.sh resdir
|
||||
#
|
||||
# Copyright (C) Facebook, 2020
|
||||
#
|
||||
# Authors: Paul E. McKenney <paulmck@kernel.org>
|
||||
|
||||
i="$1"
|
||||
if test -d "$i" -a -r "$i"
|
||||
then
|
||||
:
|
||||
else
|
||||
echo Unreadable results directory: $i
|
||||
exit 1
|
||||
fi
|
||||
. functions.sh
|
||||
|
||||
configfile=`echo $i | sed -e 's/^.*\///'`
|
||||
nscfs="`grep 'scf_invoked_count ver:' $i/console.log 2> /dev/null | tail -1 | sed -e 's/^.* scf_invoked_count ver: //' -e 's/ .*$//' | tr -d '\015'`"
|
||||
if test -z "$nscfs"
|
||||
then
|
||||
echo "$configfile ------- "
|
||||
else
|
||||
dur="`sed -e 's/^.* scftorture.shutdown_secs=//' -e 's/ .*$//' < $i/qemu-cmd 2> /dev/null`"
|
||||
if test -z "$dur"
|
||||
then
|
||||
rate=""
|
||||
else
|
||||
nscfss=`awk -v nscfs=$nscfs -v dur=$dur '
|
||||
BEGIN { print nscfs / dur }' < /dev/null`
|
||||
rate=" ($nscfss/s)"
|
||||
fi
|
||||
echo "${configfile} ------- ${nscfs} SCF handler invocations$rate"
|
||||
fi
|
|
@ -184,7 +184,7 @@ do
|
|||
shift
|
||||
;;
|
||||
--torture)
|
||||
checkarg --torture "(suite name)" "$#" "$2" '^\(lock\|rcu\|rcuperf\|refscale\)$' '^--'
|
||||
checkarg --torture "(suite name)" "$#" "$2" '^\(lock\|rcu\|rcuperf\|refscale\|scf\)$' '^--'
|
||||
TORTURE_SUITE=$2
|
||||
shift
|
||||
if test "$TORTURE_SUITE" = rcuperf || test "$TORTURE_SUITE" = refscale
|
||||
|
|
2
tools/testing/selftests/rcutorture/configs/scf/CFLIST
Normal file
2
tools/testing/selftests/rcutorture/configs/scf/CFLIST
Normal file
|
@ -0,0 +1,2 @@
|
|||
NOPREEMPT
|
||||
PREEMPT
|
2
tools/testing/selftests/rcutorture/configs/scf/CFcommon
Normal file
2
tools/testing/selftests/rcutorture/configs/scf/CFcommon
Normal file
|
@ -0,0 +1,2 @@
|
|||
CONFIG_SCF_TORTURE_TEST=y
|
||||
CONFIG_PRINTK_TIME=y
|
9
tools/testing/selftests/rcutorture/configs/scf/NOPREEMPT
Normal file
9
tools/testing/selftests/rcutorture/configs/scf/NOPREEMPT
Normal file
|
@ -0,0 +1,9 @@
|
|||
CONFIG_SMP=y
|
||||
CONFIG_PREEMPT_NONE=y
|
||||
CONFIG_PREEMPT_VOLUNTARY=n
|
||||
CONFIG_PREEMPT=n
|
||||
CONFIG_HZ_PERIODIC=n
|
||||
CONFIG_NO_HZ_IDLE=n
|
||||
CONFIG_NO_HZ_FULL=y
|
||||
CONFIG_DEBUG_LOCK_ALLOC=n
|
||||
CONFIG_PROVE_LOCKING=n
|
|
@ -0,0 +1 @@
|
|||
nohz_full=1
|
9
tools/testing/selftests/rcutorture/configs/scf/PREEMPT
Normal file
9
tools/testing/selftests/rcutorture/configs/scf/PREEMPT
Normal file
|
@ -0,0 +1,9 @@
|
|||
CONFIG_SMP=y
|
||||
CONFIG_PREEMPT_NONE=n
|
||||
CONFIG_PREEMPT_VOLUNTARY=n
|
||||
CONFIG_PREEMPT=y
|
||||
CONFIG_HZ_PERIODIC=n
|
||||
CONFIG_NO_HZ_IDLE=y
|
||||
CONFIG_NO_HZ_FULL=n
|
||||
CONFIG_DEBUG_LOCK_ALLOC=y
|
||||
CONFIG_PROVE_LOCKING=y
|
|
@ -0,0 +1,30 @@
|
|||
#!/bin/bash
|
||||
# SPDX-License-Identifier: GPL-2.0+
|
||||
#
|
||||
# Torture-suite-dependent shell functions for the rest of the scripts.
|
||||
#
|
||||
# Copyright (C) Facebook, 2020
|
||||
#
|
||||
# Authors: Paul E. McKenney <paulmck@kernel.org>
|
||||
|
||||
# scftorture_param_onoff bootparam-string config-file
|
||||
#
|
||||
# Adds onoff scftorture module parameters to kernels having it.
|
||||
scftorture_param_onoff () {
|
||||
if ! bootparam_hotplug_cpu "$1" && configfrag_hotplug_cpu "$2"
|
||||
then
|
||||
echo CPU-hotplug kernel, adding scftorture onoff. 1>&2
|
||||
echo scftorture.onoff_interval=1000 scftorture.onoff_holdoff=30
|
||||
fi
|
||||
}
|
||||
|
||||
# per_version_boot_params bootparam-string config-file seconds
|
||||
#
|
||||
# Adds per-version torture-module parameters to kernels supporting them.
|
||||
per_version_boot_params () {
|
||||
echo $1 `scftorture_param_onoff "$1" "$2"` \
|
||||
scftorture.stat_interval=15 \
|
||||
scftorture.shutdown_secs=$3 \
|
||||
scftorture.verbose=1 \
|
||||
scf
|
||||
}
|
Loading…
Reference in a new issue