X-Git-Url: http://rtime.felk.cvut.cz/gitweb/can-benchmark.git/blobdiff_plain/d48a4f69b198ff8b3bd026ec63a5ec0905c97c08..d4f1900ea07df65ae562b263dac405b5ac5a18db:/tests/_lib.sh diff --git a/tests/_lib.sh b/tests/_lib.sh index 1661814..3009a88 100644 --- a/tests/_lib.sh +++ b/tests/_lib.sh @@ -11,8 +11,8 @@ set -e PATH=$PWD/../_compiled/bin/:$PATH -RTPRIO=60 -COUNT=10000 +RTPRIO=${RTPRIO:-60} +COUNT=${COUNT:-10000} boost_irq_prio() { local PRIO=${1:-50} @@ -44,6 +44,7 @@ prepare_lincan_virtual() { rmmod_can modprobe -C /dev/null lincan hw=virtual io=0 baudrate=0 CAN0=/dev/can0 + CAN1=/dev/can0 DRIVER=lincan-virtual sleep 0.1 } @@ -70,6 +71,7 @@ prepare_socketcan_virtual() { ip link add dev vcan0 type vcan ip link set up dev vcan0 CAN0=socketcan:vcan0 + CAN1=socketcan:vcan0 DRIVER=socketcan-virtual } @@ -78,14 +80,30 @@ run_tests() { for tst in $tests; do boost_irq_prio 50 || true prepare_$tst + echo "----------------------" t done } +kvers() { + local cmdline=$(cat /proc/cmdline|sed -e 's/BOOT_IMAGE=[^ ]*//' \ + -e 's/root=[^ ]*//' \ + -e 's/ro//' \ + -e 's/quiet//' \ + -e 's/rootfstype=[^ ]*//' \ + -e 's/elevator=[^ ]*//' \ + -e 's/^ *//' \ + -e 's/ *$//'|tr -s ' ' '_') + v=$(uname -r) + [ -n "$cmdline" ] && v="$v:$cmdline" + echo $v +} + plot() { - for i in "${!PLOT_CMD[@]}"; do - cmd="${PLOT_CMD[$i]}"; - cmd=$(echo "$cmd" | sed -e "/set title/ s/[\"']\(.*\)[\"']/'\1 ($(uname -r), CPU\\\\@${clk}Mhz)'/") +# 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)'/") if [ -z "$OPT_NO_X11" ]; then echo "set terminal x11 enhanced; ${cmd}" | gnuplot -persist fi @@ -103,25 +121,32 @@ 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 } go() { - mhz=${MHZ:-2400 300} + echo "####################" + mhz=`sed -ne '/^cpu MHz/ s/.*:\([^.]+\).*/\1/p' /proc/cpuinfo|head -n 1` + if [ -r /sys/devices/system/cpu/cpu0/cpufreq/cpuinfo_max_freq ]; then + local max=$((`cat /sys/devices/system/cpu/cpu0/cpufreq/cpuinfo_max_freq`/1000)) + local min=$((`cat /sys/devices/system/cpu/cpu0/cpufreq/cpuinfo_min_freq`/1000)) + mhz="$max $min" + fi for clk in $mhz; do - dir=$(create_dirs_and_links `basename $0 .sh` `uname -r` $clk) + echo "====================" + dir=$(create_dirs_and_links `basename $0 .sh` `kvers` $clk) set -x pushd $dir