mirror of
https://github.com/torvalds/linux
synced 2024-10-08 20:34:15 +00:00
torture: Add "make allmodconfig" to torture.sh
This commit adds the ability to do "make allmodconfig" to torture.sh, given that normal rcutorture runs do not normally catch missing exports. Signed-off-by: Paul E. McKenney <paulmck@kernel.org>
This commit is contained in:
parent
197220d4a3
commit
a115a775a8
|
@ -17,6 +17,9 @@ KVM="`pwd`/tools/testing/selftests/rcutorture"; export KVM
|
||||||
PATH=${KVM}/bin:$PATH; export PATH
|
PATH=${KVM}/bin:$PATH; export PATH
|
||||||
. functions.sh
|
. functions.sh
|
||||||
|
|
||||||
|
TORTURE_ALLOTED_CPUS="`identify_qemu_vcpus`"
|
||||||
|
MAKE_ALLOTED_CPUS=$((TORTURE_ALLOTED_CPUS*2))
|
||||||
|
|
||||||
# Default duration and apportionment.
|
# Default duration and apportionment.
|
||||||
duration_base=10
|
duration_base=10
|
||||||
duration_rcutorture_frac=7
|
duration_rcutorture_frac=7
|
||||||
|
@ -24,6 +27,7 @@ duration_locktorture_frac=1
|
||||||
duration_scftorture_frac=2
|
duration_scftorture_frac=2
|
||||||
|
|
||||||
# "yes" or "no" parameters
|
# "yes" or "no" parameters
|
||||||
|
do_allmodconfig=yes
|
||||||
do_rcutorture=yes
|
do_rcutorture=yes
|
||||||
do_locktorture=yes
|
do_locktorture=yes
|
||||||
do_scftorture=yes
|
do_scftorture=yes
|
||||||
|
@ -36,6 +40,7 @@ do_kcsan=no
|
||||||
usage () {
|
usage () {
|
||||||
echo "Usage: $scriptname optional arguments:"
|
echo "Usage: $scriptname optional arguments:"
|
||||||
echo " --doall"
|
echo " --doall"
|
||||||
|
echo " --doallmodconfig / --do-no-allmodconfig"
|
||||||
echo " --do-kasan / --do-no-kasan"
|
echo " --do-kasan / --do-no-kasan"
|
||||||
echo " --do-kcsan / --do-no-kcsan"
|
echo " --do-kcsan / --do-no-kcsan"
|
||||||
echo " --do-kvfree / --do-no-kvfree"
|
echo " --do-kvfree / --do-no-kvfree"
|
||||||
|
@ -53,6 +58,7 @@ while test $# -gt 0
|
||||||
do
|
do
|
||||||
case "$1" in
|
case "$1" in
|
||||||
--doall)
|
--doall)
|
||||||
|
do_allmodconfig=yes
|
||||||
do_rcutorture=yes
|
do_rcutorture=yes
|
||||||
do_locktorture=yes
|
do_locktorture=yes
|
||||||
do_scftorture=yes
|
do_scftorture=yes
|
||||||
|
@ -62,6 +68,14 @@ do
|
||||||
do_kasan=yes
|
do_kasan=yes
|
||||||
do_kcsan=yes
|
do_kcsan=yes
|
||||||
;;
|
;;
|
||||||
|
--do-allmodconfig|--do-no-allmodconfig)
|
||||||
|
if test "$1" = --do-allmodconfig
|
||||||
|
then
|
||||||
|
do_allmodconfig=yes
|
||||||
|
else
|
||||||
|
do_allmodconfig=no
|
||||||
|
fi
|
||||||
|
;;
|
||||||
--do-kasan|--do-no-kasan)
|
--do-kasan|--do-no-kasan)
|
||||||
if test "$1" = --do-kasan
|
if test "$1" = --do-kasan
|
||||||
then
|
then
|
||||||
|
@ -95,6 +109,7 @@ do
|
||||||
fi
|
fi
|
||||||
;;
|
;;
|
||||||
--do-none)
|
--do-none)
|
||||||
|
do_allmodconfig=no
|
||||||
do_rcutorture=no
|
do_rcutorture=no
|
||||||
do_locktorture=no
|
do_locktorture=no
|
||||||
do_scftorture=no
|
do_scftorture=no
|
||||||
|
@ -242,6 +257,26 @@ function torture_set {
|
||||||
fi
|
fi
|
||||||
}
|
}
|
||||||
|
|
||||||
|
# make allmodconfig
|
||||||
|
if test "$do_allmodconfig" = "yes"
|
||||||
|
then
|
||||||
|
echo " --- allmodconfig:" Start `date` | tee -a $T/log
|
||||||
|
amcdir="tools/testing/selftests/rcutorture/res/$ds/allmodconfig"
|
||||||
|
mkdir -p "$amcdir"
|
||||||
|
make -j$MAKE_ALLOTED_CPUS clean > "$amcdir/Make.out" 2>&1
|
||||||
|
make -j$MAKE_ALLOTED_CPUS allmodconfig > "$amcdir/Make.out" 2>&1
|
||||||
|
make -j$MAKE_ALLOTED_CPUS > "$amcdir/Make.out" 2>&1
|
||||||
|
retcode="$?"
|
||||||
|
echo $retcode > "$amcdir/Make.exitcode"
|
||||||
|
if test "$retcode" == 0
|
||||||
|
then
|
||||||
|
echo "allmodconfig($retcode)" $amcdir >> $T/successes
|
||||||
|
else
|
||||||
|
echo "allmodconfig($retcode)" $amcdir >> $T/failures
|
||||||
|
fi
|
||||||
|
fi
|
||||||
|
|
||||||
|
# --torture rcu
|
||||||
if test "$do_rcutorture" = "yes"
|
if test "$do_rcutorture" = "yes"
|
||||||
then
|
then
|
||||||
torture_bootargs="rcupdate.rcu_cpu_stall_suppress_at_boot=1 torture.disable_onoff_at_boot rcupdate.rcu_task_stall_timeout=30000"
|
torture_bootargs="rcupdate.rcu_cpu_stall_suppress_at_boot=1 torture.disable_onoff_at_boot rcupdate.rcu_task_stall_timeout=30000"
|
||||||
|
@ -320,7 +355,7 @@ exit $ret
|
||||||
# @@@
|
# @@@
|
||||||
# RCU CPU stall warnings?
|
# RCU CPU stall warnings?
|
||||||
# scftorture warnings?
|
# scftorture warnings?
|
||||||
# Need a way for the invoker to specify clang.
|
# Need a way for the invoker to specify clang. Maybe --kcsan-kmake or some such.
|
||||||
# Work out --configs based on number of available CPUs?
|
# Work out --configs based on number of available CPUs?
|
||||||
# Need to sense CPUs to size scftorture run. Ditto rcuscale and refscale.
|
# Need to sense CPUs to size scftorture run. Ditto rcuscale and refscale.
|
||||||
# --kconfig as with --bootargs (Both have overrides.)
|
# --kconfig as with --bootargs (Both have overrides.)
|
||||||
|
|
Loading…
Reference in a new issue