]> rtime.felk.cvut.cz Git - lisovros/canprio_benchmark.git/blobdiff - test3/script_configuration
Added tests run on MPC5200.
[lisovros/canprio_benchmark.git] / test3 / script_configuration
diff --git a/test3/script_configuration b/test3/script_configuration
new file mode 100755 (executable)
index 0000000..6f6f08b
--- /dev/null
@@ -0,0 +1,93 @@
+#!/bin/sh
+
+# ----- Initialize CAN devices -----
+. caninit.sh
+
+
+# ----- Configure ftrace -----
+mount -t debugfs nodev /sys/kernel/debug/
+FTRDIR=/sys/kernel/debug/tracing
+sysctl kernel.ftrace_enabled=1
+echo "function_graph" > ${FTRDIR}/current_tracer
+sleep 1
+echo "can_send" > ${FTRDIR}/set_ftrace_filter
+echo 1 > ${FTRDIR}/tracing_on
+
+
+# ----- Run benchmarks -----
+DESTDIR=ftrace
+GAP=0
+COUNT=5000
+DATA=i
+LENGTH=8
+FRMTYPE=""
+
+echo "Benchmarking ..."
+
+for X in "sff" "eff";
+do
+       if [ ${X} == "eff" ]; then
+               FRMTYPE="-e"
+       else
+               FRMTYPE=""
+       fi      
+
+       # Default (pfifo qdisc)
+       echo "[pfifo]"
+       . setcanprio.sh del
+       echo > ${FTRDIR}/trace
+       cangen ${FRMTYPE} can0 -I 123 -L ${LENGTH} -D ${DATA} -g ${GAP} -n ${COUNT}
+       cp ${FTRDIR}/trace ${DESTDIR}/ftrace_${X}_pfifo1.txt
+
+       echo > ${FTRDIR}/trace
+       cangen ${FRMTYPE} can0 -I i -L ${LENGTH} -D ${DATA} -g ${GAP} -n ${COUNT}
+       cp ${FTRDIR}/trace ${DESTDIR}/ftrace_${X}_pfifo2.txt
+
+
+       # With PRIO qdisc; all traffic is classified into first class
+       echo "[prio]"
+       echo > ${FTRDIR}/trace
+       . setcanprio.sh del
+       . setcanprio.sh prio
+       cangen ${FRMTYPE} can0 -I 123 -L ${LENGTH} -D ${DATA} -g ${GAP} -n ${COUNT}
+       cp ${FTRDIR}/trace ${DESTDIR}/ftrace_${X}_prio1.txt
+
+       # With PRIO qdisc; most of the traffic goes to "default" class
+       echo > ${FTRDIR}/trace
+       cangen ${FRMTYPE} can0 -I i -L ${LENGTH} -D ${DATA} -g ${GAP} -n ${COUNT}
+       cp ${FTRDIR}/trace ${DESTDIR}/ftrace_${X}_prio1b.txt
+
+
+       # With PRIO qdisc; There is maximum rules for each (except the last) class
+       echo "[prio2]"
+       echo > ${FTRDIR}/trace
+       . setcanprio.sh del
+
+       if [ ${X} == "eff" ]; then
+               . setcanprio.sh prio2eff
+       else
+               . setcanprio.sh prio2sff
+       fi      
+
+       cangen ${FRMTYPE} can0 -I i -L ${LENGTH} -D ${DATA} -g ${GAP} -n ${COUNT}
+       cp ${FTRDIR}/trace ${DESTDIR}/ftrace_${X}_prio2.txt
+
+       
+       # With HTB qdisc
+       echo "[htb]"
+       echo > ${FTRDIR}/trace
+       . setcanprio.sh del
+       . setcanprio.sh htb
+       cangen ${FRMTYPE} can0 -I 123 -L ${LENGTH} -D ${DATA} -g ${GAP} -n ${COUNT}
+       cp ${FTRDIR}/trace ${DESTDIR}/ftrace_${X}_htb1.txt
+
+       echo > ${FTRDIR}/trace
+       cangen ${FRMTYPE} can0 -I i -L ${LENGTH} -D ${DATA} -g ${GAP} -n ${COUNT}
+       cp ${FTRDIR}/trace ${DESTDIR}/ftrace_${X}_htb2.txt
+done
+
+
+# ----- Disable tracing -----
+echo 0 > ${FTRDIR}/tracing_on
+exit 0
+