]> rtime.felk.cvut.cz Git - can-benchmark.git/commitdiff
Add high prio test
authorMichal Sojka <sojkam1@fel.cvut.cz>
Wed, 1 Dec 2010 14:45:01 +0000 (15:45 +0100)
committerMichal Sojka <sojkam1@fel.cvut.cz>
Wed, 1 Dec 2010 14:45:01 +0000 (15:45 +0100)
gw-tests/lib.sh
gw-tests/nop-highprio-time.sh [new file with mode: 0755]
gw-tests/nop-highprio.sh [new file with mode: 0755]

index aa05a26b0cc0768af78c9ee9ea7cb6b082bbe573..79899c4ed150744c1c0ce4dbd1815311d9eaa33d 100644 (file)
@@ -88,6 +88,11 @@ _run() {
            sshgw 'for i in 0 1; do ip link show dev can$i|grep -q UP || ip link set can$i up type can bitrate 1000000; done'
             # Delete all vcan interfaces
            sshgw 'for dev in $(ip l|grep -o vcan[^:]\\+); do ip link del dev $dev; done'
+           # Reset priorities
+           sshgw 'chrt -p -f 50 `pidof irq/145-can0` > /dev/null'
+           sshgw 'chrt -p -f 50 `pidof irq/146-can1` > /dev/null'
+           sshgw 'chrt -p -f 49 `pidof sirq-net-rx/0` > /dev/null'
+           sshgw 'chrt -p -f 49 `pidof sirq-net-tx/0` > /dev/null'
            cleanupgw
            
            main
diff --git a/gw-tests/nop-highprio-time.sh b/gw-tests/nop-highprio-time.sh
new file mode 100755 (executable)
index 0000000..ae7181f
--- /dev/null
@@ -0,0 +1,24 @@
+#!/bin/bash
+
+. lib.sh
+
+main() {
+       :
+}
+
+plot_cmds() {
+    cat <<'EOF'
+set title "Single GW, no modifications, no filters, high (soft)irq task priority"
+set grid
+set xlabel "Time [s]"
+set ylabel "Latency [{/Symbol m}s]"
+plot [:] [:500] \
+          "../nop-highprio/time2.dat" using 2:(1000000*$14) with points title "2 byte messages", \
+          "../nop-highprio/time4.dat" using 2:(1000000*$14) with points title "4 byte messages", \
+          "../nop-highprio/time6.dat" using 2:(1000000*$14) with points title "6 byte messages", \
+          "../nop-highprio/time8.dat" using 2:(1000000*$14) with points title "8 byte messages"
+EOF
+}
+    
+test_end
+    
diff --git a/gw-tests/nop-highprio.sh b/gw-tests/nop-highprio.sh
new file mode 100755 (executable)
index 0000000..d770d83
--- /dev/null
@@ -0,0 +1,33 @@
+#!/bin/bash
+
+. lib.sh
+
+main() {
+    sshgw cangw -A -s can0 -d can1
+    sshgw 'chrt -p -f 99 `pidof irq/145-can0`'
+    sshgw 'chrt -p -f 99 `pidof irq/146-can1`'
+    sshgw 'chrt -p -f 98 `pidof sirq-net-rx/0`'
+    sshgw 'chrt -p -f 98 `pidof sirq-net-tx/0`'
+    latester -d can0 -d can1 -d can2 -o -c $COUNT -l 2 -h hist2.dat -f time2.dat
+    latester -d can0 -d can1 -d can2 -o -c $COUNT -l 4 -h hist4.dat -f time4.dat
+    latester -d can0 -d can1 -d can2 -o -c $COUNT -l 6 -h hist6.dat -f time6.dat
+    latester -d can0 -d can1 -d can2 -o -c $COUNT -l 8 -h hist8.dat -f time8.dat
+}
+
+plot_cmds() {
+    cat <<EOF
+set title "Single GW, no modifications, no filters, high (soft)irq task priority"
+set logscale y
+set grid
+set xlabel "Time [{/Symbol m}s]"
+set ylabel "Latency profile [messages]"
+plot [0:600] [1:$COUNT] \
+          "hist2.dat" with lp lt 1 title "2 byte messages", \
+          "hist4.dat" with lp lt 2 title "4 byte messages", \
+          "hist6.dat" with lp lt 3 title "6 byte messages", \
+          "hist8.dat" with lp lt 4 title "8 byte messages"
+EOF
+}
+    
+test_end
+