X-Git-Url: http://rtime.felk.cvut.cz/gitweb/can-benchmark.git/blobdiff_plain/0b85f7d8d9aa48ec67f0559dfe42ce370399a7f0..18b079e64d91a8e6f04c717ab2b32a30d08b70a9:/tests/_lib.sh diff --git a/tests/_lib.sh b/tests/_lib.sh index 5eb70fd..281ddf9 100644 --- a/tests/_lib.sh +++ b/tests/_lib.sh @@ -6,15 +6,24 @@ while [ $# -gt 0 ]; do esac done -set -x +#set -x set -e PATH=$PWD/../_compiled/bin/:$PATH +RTPRIO=60 + +boost_irq_prio() { + local PRIO=${1:-50} + CAN_IRQ=`sed -ne '/can/ s/:.*//p' /proc/interrupts` + if [ -n "$CAN_IRQ" ]; then + IRQ_PID=`pidof IRQ-${CAN_IRQ/ /}` || true + [ -z "$IRQ_PID" ] || schedtool -F -p $PRIO $IRQ_PID + fi +} + rmmod_can() { - modprobe -r lincan - modprobe -r kvaser_pci - modprobe -r vcan + modprobe -r lincan kvaser_pci vcan } prepare_lincan_hw() { @@ -62,23 +71,27 @@ prepare_socketcan_virtual() { run_tests() { tests=${TESTS:-socketcan_hw lincan_hw} for i in $tests; do + cpufreq-set -f 2400MHz + boost_irq_prio 50 prepare_$i t done } plot() { - if [ -n "$PLOT_CMD" ]; then - echo "set terminal postscript color eps enhanced; - $PLOT_CMD" | gnuplot | epstopdf --filter > `basename $0 .sh`.pdf + for i in "${!PLOT_CMD[@]}"; do if [ -z "$OPT_PDF_ONLY" ]; then - echo "set terminal x11 enhanced; $PLOT_CMD" | gnuplot -persist + echo "set terminal x11 enhanced; ${PLOT_CMD[$i]}" | gnuplot -persist fi - fi + I=${i/0/} + echo "set terminal postscript color eps enhanced; + ${PLOT_CMD[$i]}" | gnuplot | epstopdf --filter > `basename $0 .sh`$I.pdf + done } go() { d=results/`basename $0 .sh`/`uname -r` + set -x mkdir -p $d cd $d