]> rtime.felk.cvut.cz Git - can-eth-gw.git/blobdiff - bench/bench
kernel/canethgw mutex_unlock bug fix
[can-eth-gw.git] / bench / bench
index 0fad8860f422d906e7b356ecfcbee3f7a74026c8..15a003faa3d3c19d8fe558c9d0ac2dbc7cc42f8e 100755 (executable)
@@ -3,7 +3,17 @@ N=100
 MODE=oneattime
 SLEEP=1
 LOGANDPRINT="tee -a result | cut -c 2-"
+RESULTFILE=/dev/null
+SENDRES=0
 
+if test $# -eq 1; then
+       RESULTFILE=$1
+       SENDRES=1
+fi
+
+#-----------------
+# bench kernel
+#-----------------
 modprobe canethgw
 
 cegw --listen udp@127.0.0.1:10501
@@ -12,25 +22,33 @@ cegw --add -s udp@127.0.0.1:10502 -d can@vcan0
 
 sleep $SLEEP
 echo "#kernel udp->can: " | tee -a result | cut -c 2-
-cegwbench -s udp@127.0.0.1:10501 -d can@vcan0 -n $N -m $MODE -t 1 >> result
+cegwbench -s udp@127.0.0.1:10501 -d can@vcan0 -n $N -m $MODE -t 1 >> $RESULTFILE
 
 sleep $SLEEP
 echo "#kernel can->udp: " | tee -a result | cut -c 2-
-cegwbench -s can@vcan0 -d udp@127.0.0.1:10502 -n $N -m $MODE -t 1 >> result
+cegwbench -s can@vcan0 -d udp@127.0.0.1:10502 -n $N -m $MODE -t 1 >> $RESULTFILE
 
 sleep $SLEEP
-modprobe -r canudpgw
-sleep 3
+modprobe -r canethgw
+
+#-----------------
+# bench user
+#-----------------
 canethgw -s can@vcan0 -d udp@127.0.0.1:10502 -l udp@127.0.0.1:10501 &
+PID=$!
 sleep $SLEEP
 
 echo "#user udp->can: " | tee -a result | cut -c 2-
-cegwbench -s udp@127.0.0.1:10501 -d can@vcan0 -n $N -m $MODE -t 1 >> result
+cegwbench -s udp@127.0.0.1:10501 -d can@vcan0 -n $N -m $MODE -t 1 >> $RESULTFILE
 
 sleep $SLEEP
 echo "#user can->udp: " | tee -a result | cut -c 2-
-cegwbench -s can@vcan0 -d udp@127.0.0.1:10502 -n $N -m $MODE -t 1 >> result
+cegwbench -s can@vcan0 -d udp@127.0.0.1:10502 -n $N -m $MODE -t 1 >> $RESULTFILE
 
+sleep $SLEEP
+kill -2 $PID
 # send result
-cat result | nc `cat /etc/retip` 10600
+if test $SENDRES -eq 1; then
+       cat $RESULTFILE | nc `cat /etc/retip` 10600
+fi