#!/bin/bash . lib.sh main() { if [ "$kvers" = 3.0.4-rt14-00008-gb2052fd -a "$load" = eth -a $traffic != oneatatime ]; then echo "Skipping eth test"; SKIPPED=1; return; fi if [ "$kvers" = 3.4.33-rt47-00004-gc58c9ae -a "$load" = eth -a $traffic != oneattime ]; then echo "Skipping eth test"; SKIPPED=1; return; fi; pid=$(sshgw 'chrt -f 90 candump -s2 -b can1 can0 & echo $!') latester -d can0 -d can1 -d can2 -c $COUNT $(traffic_and_length 2) -n user2 latester -d can0 -d can1 -d can2 -c $COUNT $(traffic_and_length 8) -n user8 sshgw kill $pid sshgw cangw -A -s can0 -d can1 latester -d can0 -d can1 -d can2 -c $COUNT $(traffic_and_length 2) -n kern2 latester -d can0 -d can1 -d can2 -c $COUNT $(traffic_and_length 8) -n kern8 } ADDITIONAL_PLOTS=detail plot_cmds() { if [[ "$1" = detail ]]; then [[ $traffic = eth ]] && return range=0.0:0.5 echo "set logscale y" echo "set mxtics 5" else range=0.01:1000 echo "set logscale xy" fi cat <<EOF set termoption dashed set style line 1 lt 1 lc 1 pt 1 set style line 2 lt 2 lc 1 pt 1 set style line 3 lt 1 lc 2 pt 2 set style line 4 lt 2 lc 2 pt 2 set title "Kernel vs. userspace GW, no modifications" set grid xtics mxtics ytics mytics lw 1, lw 0.5 set xlabel "GW latency [ms]" set ylabel "Latency profile [frames]" plot [$range] [1:$COUNT] \\ "user2-hist.txt" with lp ls 1 title "Userspace GW, 2 byte messages", \\ "user8-hist.txt" with lp ls 2 title "Userspace GW, 8 byte messages", \\ "kern2-hist.txt" with lp ls 3 title "Kernel GW, 2 byte messages", \\ "kern8-hist.txt" with lp ls 4 title "Kernel GW, 8 byte messages" EOF } test_end