]> rtime.felk.cvut.cz Git - can-benchmark.git/blob - gw-tests/nop-highprio.sh
b77db1e82b632342d3917ce037d7f4783b5438ac
[can-benchmark.git] / gw-tests / nop-highprio.sh
1 #!/bin/bash
2
3 . lib.sh
4
5 main() {
6     if [ "$kvers" = 3.0.4-rt14-00008-gb2052fd -a "$load" = eth ]; then echo "Skipping eth test"; SKIPPED=1; return; fi
7     if [ "$kvers" = 3.4.33-rt47-00004-gc58c9ae -a "$load" = eth ]; then echo "Skipping eth test"; SKIPPED=1; return; fi;
8 \r
9     sshgw cangw -A -s can0 -d can1
10     sshgw 'if pid=`pidof irq/145-can0`; then chrt -p -f 99 $pid; fi'
11     sshgw 'if pid=`pidof irq/146-can1`; then chrt -p -f 99 $pid; fi'
12
13     # Unfortunately, we must also increase FEC (Ethernet) IRQ priority
14     # to be above softirq. Otherwise the system crashes with eth load.
15     sshgw 'if pid=`pidof irq/192-mpc52xx`; then chrt -p -f 99 $pid; fi'
16     sshgw 'if pid=`pidof irq/193-mpc52xx`; then chrt -p -f 99 $pid; fi'
17
18     sshgw 'if pid=`pidof sirq-net-rx/0`; then chrt -p -f 98 $pid; fi'
19     sshgw 'if pid=`pidof sirq-net-tx/0`; then chrt -p -f 98 $pid; fi'
20     latester -d can0 -d can1 -d can2 -c $COUNT $(traffic_and_length 2) -n len2
21     latester -d can0 -d can1 -d can2 -c $COUNT $(traffic_and_length 4) -n len4
22     latester -d can0 -d can1 -d can2 -c $COUNT $(traffic_and_length 6) -n len6
23     latester -d can0 -d can1 -d can2 -c $COUNT $(traffic_and_length 8) -n len8
24 }
25
26 plot_cmds() {
27     cat <<EOF
28 set title "Single GW rule for all messages, no modifications, high (soft)irq task priority"
29 set logscale xy
30 set grid xtics mxtics ytics mytics lw 1, lw 0.5
31 set xlabel "GW latency [ms]"
32 set ylabel "Latency profile [frames]"
33 plot [0.01:100] [1:$COUNT] \\
34           "len2-hist.txt" with lp lt 1 title "2 byte messages", \\
35           "len4-hist.txt" with lp lt 2 title "4 byte messages", \\
36           "len6-hist.txt" with lp lt 3 title "6 byte messages", \\
37           "len8-hist.txt" with lp lt 4 title "8 byte messages"
38 EOF
39 }
40     
41 test_end
42