]> rtime.felk.cvut.cz Git - can-benchmark.git/blob - gw-tests/user.sh
554329f21acbe4ea1d307528b361185c5cf9fdb5
[can-benchmark.git] / gw-tests / user.sh
1 #!/bin/bash
2
3 . lib.sh
4
5 main() {
6     if [ "$kvers" = 3.0.4-rt14-00008-gb2052fd -a "$load" = eth -a $traffic != oneatatime ]; then echo "Skipping eth test"; SKIPPED=1; return; fi
7     pid=$(sshgw 'chrt -f 90 candump -s2 -b can1 can0 & echo $!')
8     latester -d can0 -d can1 -d can2 -c $COUNT $(traffic_and_length 2) -n user2
9     latester -d can0 -d can1 -d can2 -c $COUNT $(traffic_and_length 8) -n user8
10     sshgw kill $pid
11     sshgw cangw -A -s can0 -d can1
12     latester -d can0 -d can1 -d can2 -c $COUNT $(traffic_and_length 2) -n kern2
13     latester -d can0 -d can1 -d can2 -c $COUNT $(traffic_and_length 8) -n kern8
14 }
15
16 ADDITIONAL_PLOTS=detail
17
18 plot_cmds() {
19     if [[ "$1" = detail ]]; then
20         [[ $traffic = eth ]] && return
21         range=0.0:0.5
22         echo "set logscale y"
23         echo "set mxtics 5"
24     else
25         range=0.01:1000
26         echo "set logscale xy"
27     fi
28     cat <<EOF
29 set title "Kernel vs. userspace GW, no modifications"
30 set termoption dashed
31 set grid xtics mxtics ytics mytics lw 1, lw 0.5
32 set xlabel "Time [ms]"
33 set ylabel "Latency profile [messages]"
34 plot [$range] [1:$COUNT] \\
35           "user2-hist.txt" with lp lc 1 lt 1 title "Userspace GW, 2 byte messages", \\
36           "user8-hist.txt" with lp lc 1 lt 2 title "Userspace GW, 8 byte messages", \\
37           "kern2-hist.txt" with lp lc 2 lt 1 title "Kernel GW, 2 byte messages", \\
38           "kern8-hist.txt" with lp lc 2 lt 2 title "Kernel GW, 8 byte messages"
39 EOF
40 }
41     
42 test_end
43