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