]> rtime.felk.cvut.cz Git - lisovros/canprio_benchmark.git/blob - test3/script_configuration
Added tests run on MPC5200.
[lisovros/canprio_benchmark.git] / test3 / script_configuration
1 #!/bin/sh
2
3 # ----- Initialize CAN devices -----
4 . caninit.sh
5
6
7 # ----- Configure ftrace -----
8 mount -t debugfs nodev /sys/kernel/debug/
9 FTRDIR=/sys/kernel/debug/tracing
10 sysctl kernel.ftrace_enabled=1
11 echo "function_graph" > ${FTRDIR}/current_tracer
12 sleep 1
13 echo "can_send" > ${FTRDIR}/set_ftrace_filter
14 echo 1 > ${FTRDIR}/tracing_on
15
16
17 # ----- Run benchmarks -----
18 DESTDIR=ftrace
19 GAP=0
20 COUNT=5000
21 DATA=i
22 LENGTH=8
23 FRMTYPE=""
24
25 echo "Benchmarking ..."
26
27 for X in "sff" "eff";
28 do
29         if [ ${X} == "eff" ]; then
30                 FRMTYPE="-e"
31         else
32                 FRMTYPE=""
33         fi      
34
35         # Default (pfifo qdisc)
36         echo "[pfifo]"
37         . setcanprio.sh del
38         echo > ${FTRDIR}/trace
39         cangen ${FRMTYPE} can0 -I 123 -L ${LENGTH} -D ${DATA} -g ${GAP} -n ${COUNT}
40         cp ${FTRDIR}/trace ${DESTDIR}/ftrace_${X}_pfifo1.txt
41
42         echo > ${FTRDIR}/trace
43         cangen ${FRMTYPE} can0 -I i -L ${LENGTH} -D ${DATA} -g ${GAP} -n ${COUNT}
44         cp ${FTRDIR}/trace ${DESTDIR}/ftrace_${X}_pfifo2.txt
45
46
47         # With PRIO qdisc; all traffic is classified into first class
48         echo "[prio]"
49         echo > ${FTRDIR}/trace
50         . setcanprio.sh del
51         . setcanprio.sh prio
52         cangen ${FRMTYPE} can0 -I 123 -L ${LENGTH} -D ${DATA} -g ${GAP} -n ${COUNT}
53         cp ${FTRDIR}/trace ${DESTDIR}/ftrace_${X}_prio1.txt
54
55         # With PRIO qdisc; most of the traffic goes to "default" class
56         echo > ${FTRDIR}/trace
57         cangen ${FRMTYPE} can0 -I i -L ${LENGTH} -D ${DATA} -g ${GAP} -n ${COUNT}
58         cp ${FTRDIR}/trace ${DESTDIR}/ftrace_${X}_prio1b.txt
59
60
61         # With PRIO qdisc; There is maximum rules for each (except the last) class
62         echo "[prio2]"
63         echo > ${FTRDIR}/trace
64         . setcanprio.sh del
65
66         if [ ${X} == "eff" ]; then
67                 . setcanprio.sh prio2eff
68         else
69                 . setcanprio.sh prio2sff
70         fi      
71
72         cangen ${FRMTYPE} can0 -I i -L ${LENGTH} -D ${DATA} -g ${GAP} -n ${COUNT}
73         cp ${FTRDIR}/trace ${DESTDIR}/ftrace_${X}_prio2.txt
74
75         
76         # With HTB qdisc
77         echo "[htb]"
78         echo > ${FTRDIR}/trace
79         . setcanprio.sh del
80         . setcanprio.sh htb
81         cangen ${FRMTYPE} can0 -I 123 -L ${LENGTH} -D ${DATA} -g ${GAP} -n ${COUNT}
82         cp ${FTRDIR}/trace ${DESTDIR}/ftrace_${X}_htb1.txt
83
84         echo > ${FTRDIR}/trace
85         cangen ${FRMTYPE} can0 -I i -L ${LENGTH} -D ${DATA} -g ${GAP} -n ${COUNT}
86         cp ${FTRDIR}/trace ${DESTDIR}/ftrace_${X}_htb2.txt
87 done
88
89
90 # ----- Disable tracing -----
91 echo 0 > ${FTRDIR}/tracing_on
92 exit 0
93