3 # ----- Initialize CAN devices -----
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
13 echo "can_send" > ${FTRDIR}/set_ftrace_filter
14 echo 1 > ${FTRDIR}/tracing_on
17 # ----- Run benchmarks -----
26 echo "Benchmarking ..."
30 if [ ${X} == "eff" ]; then
36 # Default (pfifo qdisc)
38 . setcanfltr.sh del ${DEV}
39 echo > ${FTRDIR}/trace
40 cangen ${FRMTYPE} ${DEV} -I 123 -L ${LENGTH} -D ${DATA} -g ${GAP} -n ${COUNT}
41 cp ${FTRDIR}/trace ${DESTDIR}/ftrace_${X}_pfifo1.txt
43 echo > ${FTRDIR}/trace
44 cangen ${FRMTYPE} ${DEV} -I i -L ${LENGTH} -D ${DATA} -g ${GAP} -n ${COUNT}
45 cp ${FTRDIR}/trace ${DESTDIR}/ftrace_${X}_pfifo2.txt
48 # With PRIO qdisc; all traffic is classified into first class
50 echo > ${FTRDIR}/trace
51 . setcanfltr.sh del ${DEV}
52 . setcanfltr.sh prio ${DEV}
53 cangen ${FRMTYPE} ${DEV} -I 123 -L ${LENGTH} -D ${DATA} -g ${GAP} -n ${COUNT}
54 cp ${FTRDIR}/trace ${DESTDIR}/ftrace_${X}_prio1.txt
56 # With PRIO qdisc; most of the traffic goes to "default" class
57 echo > ${FTRDIR}/trace
58 cangen ${FRMTYPE} ${DEV} -I i -L ${LENGTH} -D ${DATA} -g ${GAP} -n ${COUNT}
59 cp ${FTRDIR}/trace ${DESTDIR}/ftrace_${X}_prio1b.txt
62 # With PRIO qdisc; There is maximum rules for each (except the last) class
64 echo > ${FTRDIR}/trace
65 . setcanfltr.sh del ${DEV}
67 if [ ${X} == "eff" ]; then
68 . setcanfltr.sh prio2eff ${DEV}
70 . setcanfltr.sh prio2sff ${DEV}
73 cangen ${FRMTYPE} ${DEV} -I i -L ${LENGTH} -D ${DATA} -g ${GAP} -n ${COUNT}
74 cp ${FTRDIR}/trace ${DESTDIR}/ftrace_${X}_prio2.txt
79 echo > ${FTRDIR}/trace
80 . setcanfltr.sh del ${DEV}
81 . setcanfltr.sh htb ${DEV}
82 cangen ${FRMTYPE} ${DEV} -I 123 -L ${LENGTH} -D ${DATA} -g ${GAP} -n ${COUNT}
83 cp ${FTRDIR}/trace ${DESTDIR}/ftrace_${X}_htb1.txt
85 echo > ${FTRDIR}/trace
86 cangen ${FRMTYPE} ${DEV} -I i -L ${LENGTH} -D ${DATA} -g ${GAP} -n ${COUNT}
87 cp ${FTRDIR}/trace ${DESTDIR}/ftrace_${X}_htb2.txt
91 echo > ${FTRDIR}/trace
92 . setcanfltr.sh del ${DEV}
93 . setcanfltr.sh sfq ${DEV}
94 cangen -b 18432 ${FRMTYPE} ${DEV} -I 123 -L ${LENGTH} -D ${DATA} -g ${GAP} -n ${COUNT}
95 cp ${FTRDIR}/trace ${DESTDIR}/ftrace_${X}_sfq.txt
97 echo > ${FTRDIR}/trace
98 cangen -b 18432 ${FRMTYPE} ${DEV} -I i -L ${LENGTH} -D ${DATA} -g ${GAP} -n ${COUNT}
99 cp ${FTRDIR}/trace ${DESTDIR}/ftrace_${X}_sfq2.txt
104 # ----- Disable tracing -----
105 echo 0 > ${FTRDIR}/tracing_on