X-Git-Url: http://rtime.felk.cvut.cz/gitweb/can-benchmark.git/blobdiff_plain/227dac53cfca24e57a9c96b78c0b7581b3df961d..c90094c5a4e44325d03ab1f69c20c79a2793c5e0:/ugw/data/bench-all.sh diff --git a/ugw/data/bench-all.sh b/ugw/data/bench-all.sh index 3048da7..78e560a 100755 --- a/ugw/data/bench-all.sh +++ b/ugw/data/bench-all.sh @@ -3,7 +3,7 @@ set -e args= -dir=burst +dirs=burst d0=$(dirname $0) cd $d0 @@ -12,11 +12,18 @@ while [ "${1#-}" != "$1" ]; do case "$1" in -o) args=--oneattime - dir=oneatatime + dirs=oneatatime ;; -ftrace) args=--oneattime - dir=oneatatime.ftrace + dirs=oneatatime.ftrace + ;; + -p) + dirs=($(seq 120 160)) + declare -a args + for i in ${!dirs[*]}; do + args[$i]=-p${dirs[$i]} + done ;; -p*) args=$1 @@ -26,28 +33,43 @@ while [ "${1#-}" != "$1" ]; do shift done -methods=${@:-rtems kernel read-write readnb-write mmap-write mmap-mmap mmapbusy-write mmapbusy-mmap readbusy-write} +methods=${@:-rtems kernel read-write readnb-write readnb-mmap read-mmap mmap-write mmap-mmap mmapbusy-write mmapbusy-mmap readbusy-write readbusynoirq-write} +set -x for method in $methods; do - set -x case $method in - rtems) ../../rtems/gw/boot --expect '"]", sub { shift->send_slow(0.1, "startGW\n"); }' --exiton 'tasks started';; + rtems) ../../rtems/gw/boot --expect-raw '"]", sub { shift->send_slow(0.1, "startGW\n"); }' --exiton 'tasks started';; kernel) ../ppc/boot -a kernelgw --exiton "Kernel GW started";; read-write) ../ppc/boot --exiton "UGW started";; readnb-write) ../ppc/boot -a "ugw=|-n|" --exiton "UGW started";; + readnb-mmap) ../ppc/boot -a "ugw=|-n -t mmap|" --exiton "UGW started";; + read-mmap) ../ppc/boot -a "ugw=|-t mmap|" --exiton "UGW started";; mmap-write) ../ppc/boot -a "ugw=|-r mmap|" --exiton "UGW started";; mmap-mmap) ../ppc/boot -a "ugw=|-r mmap -t mmap|" --exiton "UGW started";; mmapbusy-write) ../ppc/boot -a "ugw=|-r mmapbusy|" --exiton "UGW started";; mmapbusy-mmap) ../ppc/boot -a "ugw=|-r mmapbusy -t mmap|" --exiton "UGW started";; readbusy-write) ../ppc/boot -a "ugw=|-b 300|" --exiton "UGW started";; + readbusynoirq-write) ../ppc/boot -a "ugw=|-b 300|" --kernel uImage.noirq --exiton "UGW started";; *) echo >&2 "Unknown method '$method'"; exit 1; esac - ssh glab "latester -d can0 -d can1 -d can2 -c 10000 -q -n $method $args" - mkdir -p $dir - scp glab:"$method-*.txt" $dir - (cd $dir && ln -sf ../Makefile ../plot.gp ../preprocess.m .) set +x + for i in ${!dirs[*]}; do + arg=${args[$i]} + dir=${dirs[$i]} + set -x + ssh glab "sudo ip l set eth0 down; sudo ~/bin/latester -d can0 -d can1 -d can2 -c 5000 -q -n $method $arg; r=\$?; sudo ip l set eth0 up; exit \$r" + mkdir -p $dir + scp glab:"$method-*.txt" $dir + (cd $dir && ln -sf ../Makefile ../plot.gp ../preprocess.m .) + set -x + done sleep 2 # Wait for cu at glab to die done + +if [ ${#dirs[*]} -gt 1 ]; then + for d in ${dirs[@]}; do + make -C $d + done +fi