diff --git a/fuzz-until-converged.sh b/fuzz-until-converged.sh index 02e612ea..a6822eac 100755 --- a/fuzz-until-converged.sh +++ b/fuzz-until-converged.sh @@ -1,12 +1,13 @@ #!/bin/bash rm -r "fuzz/corpus/fuzz_$1_old" +ncpus=$(nproc || getconf NPROCESSORS_ONLN) +ncpus=$(( ncpus / ( 1 + $(cat /sys/devices/system/cpu/smt/active)))) MAX_ITERS_WITHOUT_IMPROVEMENT=3 iters_without_improvement=0 while [[ $iters_without_improvement -lt $MAX_ITERS_WITHOUT_IMPROVEMENT ]]; do cp -r "fuzz/corpus/fuzz_$1" "fuzz/corpus/fuzz_$1_old" cargo fuzz run --all-features "fuzz_$1" "fuzz/corpus/fuzz_$1" -- \ - -dict=fuzz/fuzz.dict -max_len="$2" -rss_limit_mb=8192 \ - -fork="$(nproc || getconf NPROCESSORS_ONLN)" -runs=15000000 \ + -dict=fuzz/fuzz.dict -max_len="$2" -fork="$ncpus" \ -max_total_time=900 ./recursive-fuzz-cmin.sh "$1" "$2" if diff "fuzz/corpus/fuzz_$1" "fuzz/corpus/fuzz_$1_old"; then