bench-all: get working again

Fix gem5/build wrong path for dd swapfile. Put it under out/ while we are at it
now that we have out of tree builds.

Allow seq_id larger than 7: broke previously because 08 is not valid octal.

Use timeout --foreground to allow killing scons

Don't upload results by default, too insane.
This commit is contained in:
Ciro Santilli
2018-05-30 09:02:56 +01:00
parent c7ab01967d
commit ae0701df10
3 changed files with 14 additions and 8 deletions

1
.gitignore vendored
View File

@@ -7,6 +7,7 @@ gitignore*
# Specific files. # Specific files.
/data /data
/gem5/out
/images-*.zip /images-*.zip
/out /out
/out.* /out.*

View File

@@ -1,7 +1,7 @@
#!/usr/bin/env bash #!/usr/bin/env bash
# Run all benchmarks for this repo, and save the results to the # Run all benchmarks for this repo, and save the results to the
# benchmark repo, which should be cloned at ../linux-kernel-module-cheat-benchmarks. # benchmark repo, which should be cloned at ../linux-kernel-module-cheat-benchmarks.
set -eu set -eux
. common . common
bench_build=false bench_build=false
@@ -9,7 +9,7 @@ bench_buildroot_baseline=false
bench_gem5_build=false bench_gem5_build=false
bench_linux_boot=false bench_linux_boot=false
default_arch=x86_64 default_arch=x86_64
update_repo=true update_repo=false
set -- ${cli_bench_all:-} "$@" set -- ${cli_bench_all:-} "$@"
while getopts Aa:Bbglu OPT; do while getopts Aa:Bbglu OPT; do
case "$OPT" in case "$OPT" in
@@ -35,7 +35,7 @@ while getopts Aa:Bbglu OPT; do
bench_linux_boot=true bench_linux_boot=true
;; ;;
u) u)
update_repo=false update_repo=true
;; ;;
?) ?)
exit 2 exit 2
@@ -51,7 +51,7 @@ benchmark_repo="${root_dir}/../linux-kernel-module-cheat-regression"
mkdir -p "$benchmark_repo" mkdir -p "$benchmark_repo"
last_dir="$(ls "$benchmark_repo" | grep -E '^[0-9]' | tail -n 1)" last_dir="$(ls "$benchmark_repo" | grep -E '^[0-9]' | tail -n 1)"
if [ -n "$last_dir" ]; then if [ -n "$last_dir" ]; then
seq_id="$(("$(echo "$last_dir" | sed -E 's/_.*//')" + 1))" seq_id="$(("$(echo "$last_dir" | sed -E -e 's/_.*//' -e 's/^0*//')" + 1))"
else else
seq_id=0 seq_id=0
fi fi
@@ -96,11 +96,16 @@ if "$bench_gem5_build"; then
git clean -xdf git clean -xdf
cd "${root_dir}/gem5" cd "${root_dir}/gem5"
results_file="${gem5_run_out_dir}/bench-build.txt" results_file="${gem5_run_out_dir}/bench-build.txt"
rm "$results_file" gem5_outdir="${out_dir}/bench_build"
common_bench_cmd "timeout 900 ./build -a '$arch'" "$results_file" rm -fr "$results_file" "${gem5_outdir}"
# TODO understand better: --foreground required otherwise we cannot
# kill the build with Ctrl+C if something goes wrong, can be minimized to:
# bash -c "eval 'timeout 5 sleep 3'"
common_bench_cmd "timeout --foreground 900 ./build -a '$arch' -o '${gem5_outdir}'" "$results_file"
cp "$results_file" "${new_dir}/gem5-bench-build-${arch}.txt" cp "$results_file" "${new_dir}/gem5-bench-build-${arch}.txt"
cd "${root_dir}/gem5/gem5" cd "${root_dir}/gem5/gem5"
git clean -xdf git clean -xdf
rm -fr "${gem5_outdir}"
done done
fi fi
@@ -115,7 +120,7 @@ if "$update_repo"; then
if [ -n "$comment" ]; then if [ -n "$comment" ]; then
echo "$comment" > "${new_dir}/README.adoc" echo "$comment" > "${new_dir}/README.adoc"
fi fi
echo "" echo
cd "$benchmark_repo" cd "$benchmark_repo"
git add . git add .
git commit -m "$dir_basename" git commit -m "$dir_basename"

View File

@@ -3,7 +3,7 @@ set -eu
arch=x86_64 arch=x86_64
cross_compile= cross_compile=
j= j=
outdir=./ outdir="$(pwd)/out"
while getopts a:c:j:o: OPT; do while getopts a:c:j:o: OPT; do
case "$OPT" in case "$OPT" in
a) a)