Commit 99c80a96 authored by Paul E. McKenney's avatar Paul E. McKenney

torture: Compress KCSAN as well as KASAN vmlinux files

Compressing KASAN vmlinux files reduces torture.sh res file size from
about 100G to about 50G, which is good, but the KCSAN vmlinux files
are also large.  Compressing them reduces their size from about 700M to
about 100M (but of course your mileage may vary).  This commit therefore
compresses both KASAN and KCSAN vmlinux files.
Signed-off-by: default avatarPaul E. McKenney <paulmck@kernel.org>
parent 9a32ed1c
...@@ -37,7 +37,7 @@ configs_scftorture= ...@@ -37,7 +37,7 @@ configs_scftorture=
kcsan_kmake_args= kcsan_kmake_args=
# Default compression, duration, and apportionment. # Default compression, duration, and apportionment.
compress_kasan_vmlinux="`identify_qemu_vcpus`" compress_concurrency="`identify_qemu_vcpus`"
duration_base=10 duration_base=10
duration_rcutorture_frac=7 duration_rcutorture_frac=7
duration_locktorture_frac=1 duration_locktorture_frac=1
...@@ -67,7 +67,7 @@ function doyesno () { ...@@ -67,7 +67,7 @@ function doyesno () {
usage () { usage () {
echo "Usage: $scriptname optional arguments:" echo "Usage: $scriptname optional arguments:"
echo " --compress-kasan-vmlinux concurrency" echo " --compress-concurrency concurrency"
echo " --configs-rcutorture \"config-file list w/ repeat factor (3*TINY01)\"" echo " --configs-rcutorture \"config-file list w/ repeat factor (3*TINY01)\""
echo " --configs-locktorture \"config-file list w/ repeat factor (10*LOCK01)\"" echo " --configs-locktorture \"config-file list w/ repeat factor (10*LOCK01)\""
echo " --configs-scftorture \"config-file list w/ repeat factor (2*CFLIST)\"" echo " --configs-scftorture \"config-file list w/ repeat factor (2*CFLIST)\""
...@@ -91,9 +91,9 @@ usage () { ...@@ -91,9 +91,9 @@ usage () {
while test $# -gt 0 while test $# -gt 0
do do
case "$1" in case "$1" in
--compress-kasan-vmlinux) --compress-concurrency)
checkarg --compress-kasan-vmlinux "(concurrency level)" $# "$2" '^[0-9][0-9]*$' '^error' checkarg --compress-concurrency "(concurrency level)" $# "$2" '^[0-9][0-9]*$' '^error'
compress_kasan_vmlinux=$2 compress_concurrency=$2
shift shift
;; ;;
--config-rcutorture|--configs-rcutorture) --config-rcutorture|--configs-rcutorture)
...@@ -435,11 +435,11 @@ then ...@@ -435,11 +435,11 @@ then
echo " All bugs were KCSAN failures." echo " All bugs were KCSAN failures."
fi fi
tdir="`cat $T/successes $T/failures | head -1 | awk '{ print $NF }' | sed -e 's,/[^/]\+/*$,,'`" tdir="`cat $T/successes $T/failures | head -1 | awk '{ print $NF }' | sed -e 's,/[^/]\+/*$,,'`"
if test -n "$tdir" && test $compress_kasan_vmlinux -gt 0 if test -n "$tdir" && test $compress_concurrency -gt 0
then then
# KASAN vmlinux files can approach 1GB in size, so compress them. # KASAN vmlinux files can approach 1GB in size, so compress them.
echo Looking for KASAN files to compress: `date` > "$tdir/log-xz" 2>&1 echo Looking for K[AC]SAN files to compress: `date` > "$tdir/log-xz" 2>&1
find "$tdir" -type d -name '*-kasan' -print > $T/xz-todo find "$tdir" -type d -name '*-k[ac]san' -print > $T/xz-todo
ncompresses=0 ncompresses=0
batchno=1 batchno=1
if test -s $T/xz-todo if test -s $T/xz-todo
...@@ -457,7 +457,7 @@ then ...@@ -457,7 +457,7 @@ then
do do
xz "$j" >> "$tdir/log-xz" 2>&1 & xz "$j" >> "$tdir/log-xz" 2>&1 &
ncompresses=$((ncompresses+1)) ncompresses=$((ncompresses+1))
if test $ncompresses -ge $compress_kasan_vmlinux if test $ncompresses -ge $compress_concurrency
then then
echo Waiting for batch $batchno of $ncompresses compressions `date` | tee -a "$tdir/log-xz" | tee -a $T/log echo Waiting for batch $batchno of $ncompresses compressions `date` | tee -a "$tdir/log-xz" | tee -a $T/log
wait wait
......
Markdown is supported
0%
or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment