3 # ----- Initialize CAN devices -----
7 # ----- Configure ftrace -----
8 FTRDIR=/sys/kernel/debug/tracing
9 sysctl kernel.ftrace_enabled=1
10 echo "function_graph" > ${FTRDIR}/current_tracer
12 echo "can_send" > ${FTRDIR}/set_ftrace_filter
13 echo 1 > ${FTRDIR}/tracing_on
16 # ----- Run benchmarks -----
24 echo "Benchmarking ..."
28 if [ ${X} == "eff" ]; then
34 # Default (pfifo qdisc)
37 echo > ${FTRDIR}/trace
38 cangen ${FRMTYPE} can0 -I 123 -L ${LENGTH} -D ${DATA} -g ${GAP} -n ${COUNT}
39 cp ${FTRDIR}/trace ${DESTDIR}/ftrace_${X}_pfifo1.txt
41 echo > ${FTRDIR}/trace
42 cangen ${FRMTYPE} can0 -I i -L ${LENGTH} -D ${DATA} -g ${GAP} -n ${COUNT}
43 cp ${FTRDIR}/trace ${DESTDIR}/ftrace_${X}_pfifo2.txt
46 # With PRIO qdisc; all traffic is classified into first class
48 echo > ${FTRDIR}/trace
51 cangen ${FRMTYPE} can0 -I 123 -L ${LENGTH} -D ${DATA} -g ${GAP} -n ${COUNT}
52 cp ${FTRDIR}/trace ${DESTDIR}/ftrace_${X}_prio1.txt
54 # With PRIO qdisc; most of the traffic goes to "default" class
55 echo > ${FTRDIR}/trace
56 cangen ${FRMTYPE} can0 -I i -L ${LENGTH} -D ${DATA} -g ${GAP} -n ${COUNT}
57 cp ${FTRDIR}/trace ${DESTDIR}/ftrace_${X}_prio1b.txt
60 # With PRIO qdisc; There is maximum rules for each (except the last) class
62 echo > ${FTRDIR}/trace
65 if [ ${X} == "eff" ]; then
66 . setcanprio.sh prio2eff
68 . setcanprio.sh prio2sff
71 cangen ${FRMTYPE} can0 -I i -L ${LENGTH} -D ${DATA} -g ${GAP} -n ${COUNT}
72 cp ${FTRDIR}/trace ${DESTDIR}/ftrace_${X}_prio2.txt
77 echo > ${FTRDIR}/trace
80 cangen ${FRMTYPE} can0 -I 123 -L ${LENGTH} -D ${DATA} -g ${GAP} -n ${COUNT}
81 cp ${FTRDIR}/trace ${DESTDIR}/ftrace_${X}_htb1.txt
83 echo > ${FTRDIR}/trace
84 cangen ${FRMTYPE} can0 -I i -L ${LENGTH} -D ${DATA} -g ${GAP} -n ${COUNT}
85 cp ${FTRDIR}/trace ${DESTDIR}/ftrace_${X}_htb2.txt
89 # ----- Disable tracing -----
90 echo 0 > ${FTRDIR}/tracing_on