SUBDIRS += ocera-can/lincan/
SUBDIRS += ocera-can/utils/
SUBDIRS += canping/src/
+SUBDIRS += utils
bin_PROGRAMS = hackbench
hackbench_SOURCES = hackbench.c
+
-Subproject commit c6909617dbb0c2b519fb23c1d9c6ec8c95b4484e
+Subproject commit 9c02efb698d2072ac7de98f5f606b44280c40518
set grid
set xlabel "Time [ms]"
set ylabel "Latency profile [messages]"
-plot [0:] "socketcan-1000.dat" with lp title "Socketcan",\
- "lincan-1000.dat" with lp title "Lincan"
+plot [0:] "socketcan-1000.dat" with steps title "Socketcan",\
+ "lincan-1000.dat" with steps title "Lincan"
EOF
}
}
rmmod_can() {
- modprobe -r lincan kvaser_pci vcan
+ modprobe -r lincan kvaser_pci vcan || true
}
prepare_lincan_hw() {
prepare_socketcan_virtual() {
rmmod_can
modprobe vcan
- ip link add dev vcan0 type vcan
+ ip link add dev vcan0 type vcan || true
ip link set up dev vcan0
CAN0=socketcan:vcan0
CAN1=socketcan:vcan0
plot() {
# for i in "${!PLOT_CMD[@]}"; do
+ local testname=`basename $0 .sh`
for i in 0; do
cmd=`p` # Get plot commands
cmd=$(echo "$cmd" | sed -e "/set title/ s/[\"']\(.*\)[\"']/\"\1\\\\n($(kvers), CPU\\\\\\\\@${clk}MHz)\"/")
go() {
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"
+ if [ ! -n "$OPT_PLOT_ONLY" ]; then
+ 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
+ else
+ mhz=$(cd results/by-clck; echo *)
fi
for clk in $mhz; do
echo "===================="
p() { cat <<EOF
-set title "Round-trip time with ethernet load (ping -fs 64000) 2ms wait between sends"
+set title "Round-trip time with ethernet load (ping -fs 64000) 2ms delay"
set logscale y
set grid
set xlabel "Time [ms]"
t() {
PID_S=`vca_canping -s 1 -b -R FF:$RTPRIO -d $CAN0`
vca_canping -m 1 -R FF:$RTPRIO -v -g $DRIVER -t 1 -d $CAN0 -w 0 -c $COUNT
- vca_canping -m 1 -R FF:$RTPRIO -v -g $DRIVER-1 -t 1 -d $CAN0 -w 1 -c $COUNT
- vca_canping -m 1 -R FF:$RTPRIO -v -g $DRIVER-2 -t 1 -d $CAN0 -w 2 -c $COUNT
+# vca_canping -m 1 -R FF:$RTPRIO -v -g $DRIVER-1 -t 1 -d $CAN0 -w 1 -c $COUNT
+# vca_canping -m 1 -R FF:$RTPRIO -v -g $DRIVER-2 -t 1 -d $CAN0 -w 2 -c $COUNT
kill $PID_S
}
-TESTS="lincan_virtual socketcan_virtual"
+TESTS=${TESTS:-lincan_virtual socketcan_virtual}
p() { cat <<EOF
set title "Round-trip time - virtual CAN"
set grid
set xlabel "Time [ms]"
set ylabel "Latency profile [messages]"
-plot [0:] "socketcan-virtual-1000.dat" with lp title "Socketcan 0 ms delay",\
- "lincan-virtual-1000.dat" with lp title "Lincan 0 ms delay",\
- "socketcan-virtual-1-1000.dat" with lp lt 1 title "Socketcan 1 ms delay",\
- "lincan-virtual-1-1000.dat" with lp lt 2 title "Lincan 1 ms delay",\
- "socketcan-virtual-2-1000.dat" with lp lt 1 title "Socketcan 2 ms delay",\
- "lincan-virtual-2-1000.dat" with lp lt 2 title "Lincan 2 ms delay"
+plot [0:] "socketcan-virtual-1000.dat" with lp title "Socketcan - 0 ms delay",\
+ "lincan-virtual-1000.dat" with lp title "Lincan - 0 ms delay"
EOF
}
p() { cat <<EOF
-set title "Round-trip time depending on delay between sends"
+set title "Round-trip time depending on delay between response reception and next send"
set logscale y
set grid
set xlabel "Time [ms]"
set ylabel "Latency profile [messages]"
-plot [0:] "socketcan-0-1000.dat" with lp lt 1 title "Socketcan 0sms",\
- "lincan-0-1000.dat" with lp lt 2 title "Lincan 0 ms",\
- "socketcan-1-1000.dat" with lp lt 1 title "Socketcan 1 ms",\
- "lincan-1-1000.dat" with lp lt 2 title "Lincan 1 ms",\
- "socketcan-2-1000.dat" with lp lt 1 title "Socketcan 2 ms",\
- "lincan-2-1000.dat" with lp lt 2 title "Lincan 2 ms"
+plot [0:] "socketcan-0-1000.dat" with lp lt 1 title "Socketcan - 0 ms delay",\
+ "lincan-0-1000.dat" with lp lt 2 title "Lincan - 0 ms delay",\
+ "socketcan-1-1000.dat" with lp lt 1 title "Socketcan - 1 ms delay",\
+ "lincan-1-1000.dat" with lp lt 2 title "Lincan - 1 ms delay",\
+ "socketcan-2-1000.dat" with lp lt 1 title "Socketcan - 2 ms delay",\
+ "lincan-2-1000.dat" with lp lt 2 title "Lincan - 2 ms delay"
EOF
}