]> rtime.felk.cvut.cz Git - can-benchmark.git/blobdiff - tests/_lib.sh
Fix Mhz->MHz
[can-benchmark.git] / tests / _lib.sh
index 0df9d9133b41a690140e28dff1159986e9e63a6d..3eefa5ecab4a3fa29288601432cd2d23d19fa26e 100644 (file)
@@ -1,6 +1,7 @@
 
 while [ $# -gt 0 ]; do
     case "$1" in
+       -P) OPT_PLOT_DISABLE=1; shift;;
        -p) OPT_PLOT_ONLY=1; shift;;
        -X|--no-x11-plot) OPT_NO_X11=1; shift;;
     esac
@@ -13,6 +14,7 @@ PATH=$PWD/../_compiled/bin/:$PATH
 
 RTPRIO=${RTPRIO:-60}
 COUNT=${COUNT:-10000}
+export CANPING_MS=1            # Generate plots in milliseconds
 
 boost_irq_prio() {
     local PRIO=${1:-50}
@@ -49,16 +51,24 @@ prepare_lincan_virtual() {
     sleep 0.1
 }
 
+socketcan_set_bitrate() {
+    local canX=$1
+    if [ -f /sys/class/net/$canX/can_bittiming/bitrate ]; then
+       echo 1000000 > /sys/class/net/$canX/can_bittiming/bitrate
+    else
+       ip link set $canX type can bitrate 1000000
+    fi
+}
 prepare_socketcan_hw() {
     rmmod_can
     modprobe kvaser_pci
-    echo 1000000 > /sys/class/net/can0/can_bittiming/bitrate
+    socketcan_set_bitrate can0
     ip link set up dev can0
-    echo 1000000 > /sys/class/net/can1/can_bittiming/bitrate
-    ip link set up dev can1
-    echo 1000000 > /sys/class/net/can2/can_bittiming/bitrate
+    socketcan_set_bitrate can1
+    ip link set up dev can1 
+    socketcan_set_bitrate can2
     ip link set up dev can2
-    echo 1000000 > /sys/class/net/can3/can_bittiming/bitrate
+    socketcan_set_bitrate can3
     ip link set up dev can3
     CAN0=socketcan:can0
     CAN1=socketcan:can1
@@ -78,10 +88,12 @@ prepare_socketcan_virtual() {
 run_tests() {
     tests=${TESTS:-socketcan_hw lincan_hw}
     for tst in $tests; do
+       echo 300 > /proc/sys/net/core/netdev_budget
        boost_irq_prio 50 || true
        prepare_$tst
        echo "----------------------"
        t
+       echo 300 > /proc/sys/net/core/netdev_budget
     done
 }
 
@@ -96,6 +108,7 @@ kvers() {
                                          -e 's/ *$//'|tr -s ' ' '_')
     v=$(uname -r)
     [ -n "$cmdline" ] && v="$v:$cmdline"
+    [ -n "$KVERS" ] && v=$KVERS
     echo $v
 }
 
@@ -103,7 +116,7 @@ plot() {
 #    for i in "${!PLOT_CMD[@]}"; do
     for i in 0; do
        cmd=`p`                 # Get plot commands
-       cmd=$(echo "$cmd" | sed -e "/set title/ s/[\"']\(.*\)[\"']/'\1 ($(kvers), CPU\\\\@${clk}Mhz)'/")
+       cmd=$(echo "$cmd" | sed -e "/set title/ s/[\"']\(.*\)[\"']/\"\1\\\\n($(kvers), CPU\\\\\\\\@${clk}MHz)\"/")
        if [ -z "$OPT_NO_X11" ]; then
            echo "set terminal x11 enhanced; ${cmd}" | gnuplot -persist
        fi
@@ -111,8 +124,8 @@ plot() {
        echo "set terminal postscript color eps enhanced;
              ${cmd}" | gnuplot | epstopdf --filter > `basename $0 .sh`$I.pdf
        mkdir -p thumb
-       convert -geometry 1000x100 -gamma 0.3 `basename $0 .sh`$I.pdf thumb/`basename $0 .sh`$I.png
-       convert -density 200 -gamma 0.7 -geometry 1000x500 `basename $0 .sh`$I.pdf `basename $0 .sh`$I.png
+       convert -density 30  -gamma 0.5 -quality 90 -type Palette -depth 8 `basename $0 .sh`$I.pdf thumb/`basename $0 .sh`$I.png
+       convert -density 150 -gamma 0.7 -quality 90 -type Palette -depth 8 `basename $0 .sh`$I.pdf `basename $0 .sh`$I.png
     done
 }
 
@@ -121,16 +134,16 @@ create_dirs_and_links() {
     local kver=$2
     local clck=$3
 
-    local  d=results/by-test/$test/$kver/$clck
+    local  d=results/by-kern/$kver/$clck/$test
     mkdir -p $d
-    mkdir -p results/by-test/$test/$clck # 1
-    mkdir -p results/by-kern/$kver/$clck # 2
-    mkdir -p results/by-kern/$kver/$test # 3
+    mkdir -p results/by-kern/$kver/$test # 1
+    mkdir -p results/by-test/$test/$kver # 2
+    mkdir -p results/by-test/$test/$clck # 3
     mkdir -p results/by-clck/$clck/$kver # 4
     mkdir -p results/by-clck/$clck/$test # 5
-    ln -sfT ../../../${d#results/} results/by-test/$test/$clck/$kver # 1
-    ln -sfT ../../../${d#results/} results/by-kern/$kver/$clck/$test # 2
-    ln -sfT ../../../${d#results/} results/by-kern/$kver/$test/$clck # 3
+    ln -sfT ../../../${d#results/} results/by-kern/$kver/$test/$clck # 1
+    ln -sfT ../../../${d#results/} results/by-test/$test/$kver/$clck # 2
+    ln -sfT ../../../${d#results/} results/by-test/$test/$clck/$kver # 3
     ln -sfT ../../../${d#results/} results/by-clck/$clck/$kver/$test # 4
     ln -sfT ../../../${d#results/} results/by-clck/$clck/$test/$kver # 5
     echo $d
@@ -153,9 +166,13 @@ go() {
        if [ ! -n "$OPT_PLOT_ONLY" ]; then
            cpufreq-set -f ${clk}MHz
            run_tests
-           cpufreq-set -f 2400MHz
+           cpufreq-set -f ${mhz}MHz
+       else
+           unset OPT_PLOT_DISABLE
+       fi
+       if [ ! -n "$OPT_PLOT_DISABLE" ]; then
+           plot
        fi
-       plot
        popd
        set +x
     done