torture: Compress KCSAN as well as KASAN vmlinux files
authorPaul E. McKenney <paulmck@kernel.org>
Sat, 18 Dec 2021 00:14:31 +0000 (16:14 -0800)
committerPaul E. McKenney <paulmck@kernel.org>
Wed, 2 Feb 2022 01:25:41 +0000 (17:25 -0800)
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: Paul E. McKenney <paulmck@kernel.org>
tools/testing/selftests/rcutorture/bin/torture.sh

index bddce72ea5ce4836255457a88788a79cef609f57..a5f1c5fbefe4ce81eb1efc1f5635fbc782875e44 100755 (executable)
@@ -37,7 +37,7 @@ configs_scftorture=
 kcsan_kmake_args=
 
 # Default compression, duration, and apportionment.
-compress_kasan_vmlinux="`identify_qemu_vcpus`"
+compress_concurrency="`identify_qemu_vcpus`"
 duration_base=10
 duration_rcutorture_frac=7
 duration_locktorture_frac=1
@@ -67,7 +67,7 @@ function doyesno () {
 
 usage () {
        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-locktorture \"config-file list w/ repeat factor (10*LOCK01)\""
        echo "       --configs-scftorture \"config-file list w/ repeat factor (2*CFLIST)\""
@@ -91,9 +91,9 @@ usage () {
 while test $# -gt 0
 do
        case "$1" in
-       --compress-kasan-vmlinux)
-               checkarg --compress-kasan-vmlinux "(concurrency level)" $# "$2" '^[0-9][0-9]*$' '^error'
-               compress_kasan_vmlinux=$2
+       --compress-concurrency)
+               checkarg --compress-concurrency "(concurrency level)" $# "$2" '^[0-9][0-9]*$' '^error'
+               compress_concurrency=$2
                shift
                ;;
        --config-rcutorture|--configs-rcutorture)
@@ -435,11 +435,11 @@ then
        echo "  All bugs were KCSAN failures."
 fi
 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
        # KASAN vmlinux files can approach 1GB in size, so compress them.
-       echo Looking for KASAN files to compress: `date` > "$tdir/log-xz" 2>&1
-       find "$tdir" -type d -name '*-kasan' -print > $T/xz-todo
+       echo Looking for K[AC]SAN files to compress: `date` > "$tdir/log-xz" 2>&1
+       find "$tdir" -type d -name '*-k[ac]san' -print > $T/xz-todo
        ncompresses=0
        batchno=1
        if test -s $T/xz-todo
@@ -457,7 +457,7 @@ then
                        do
                                xz "$j" >> "$tdir/log-xz" 2>&1 &
                                ncompresses=$((ncompresses+1))
-                               if test $ncompresses -ge $compress_kasan_vmlinux
+                               if test $ncompresses -ge $compress_concurrency
                                then
                                        echo Waiting for batch $batchno of $ncompresses compressions `date` | tee -a "$tdir/log-xz" | tee -a $T/log
                                        wait