]> rtime.felk.cvut.cz Git - can-benchmark.git/blobdiff - tests/_lib.sh
Be less verbose
[can-benchmark.git] / tests / _lib.sh
index 47facb0603d5755fbb8e4cb0ec073e1fff531169..557602f677cf3dcbb7987ae1d801af53deb2b894 100644 (file)
@@ -6,15 +6,24 @@ while [ $# -gt 0 ]; do
     esac
 done
 
-set -x
+#set -x
 set -e
 
 PATH=$PWD/../_compiled/bin/:$PATH
 
+RTPRIO=60
+
+boost_irq_prio() {
+    local PRIO=${1:-50}
+    CAN_IRQ=`sed -ne '/can/ s/:.*//p' /proc/interrupts`
+    if [ -n "$CAN_IRQ" ]; then
+       IRQ_PID=`pidof IRQ-${CAN_IRQ/ /}` || true
+       [ -z "$IRQ_PID" ] || schedtool -F -p $PRIO $IRQ_PID 
+    fi
+}
+
 rmmod_can() {
-    modprobe -r lincan
-    modprobe -r kvaser_pci
-    modprobe -r vcan
+    modprobe -r lincan kvaser_pci vcan
 }
 
 prepare_lincan_hw() {
@@ -63,6 +72,7 @@ run_tests() {
     tests=${TESTS:-socketcan_hw lincan_hw}
     for i in $tests; do
        cpufreq-set -f 2400MHz
+       boost_irq_prio 50
        prepare_$i
        t
     done
@@ -80,6 +90,7 @@ plot() {
 
 go() {
     d=results/`basename $0 .sh`/`uname -r`
+    set -x
     mkdir -p $d
     cd $d