From: Michal Sojka Date: Mon, 31 Aug 2009 17:53:47 +0000 (+0200) Subject: Test also influence of netdev_budget X-Git-Tag: fix-allnoconfig~361 X-Git-Url: http://rtime.felk.cvut.cz/gitweb/can-benchmark.git/commitdiff_plain/df1100f6c08cbdea4d97234547c525f12af7f6b5 Test also influence of netdev_budget --- diff --git a/tests/_lib.sh b/tests/_lib.sh index 1474741..6100f7e 100644 --- a/tests/_lib.sh +++ b/tests/_lib.sh @@ -79,10 +79,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 } diff --git a/tests/ethflood64k-w2.sh b/tests/ethflood64k-w2.sh index 0cb2db6..ad7173d 100755 --- a/tests/ethflood64k-w2.sh +++ b/tests/ethflood64k-w2.sh @@ -4,16 +4,21 @@ t() { for i in norm boost; do - ssh root@${SSH_CONNECTION%% *} 'ping -fs 64000 ${SSH_CONNECTION%% *}' & - PID_PING=$! - echo 0 1 > $DRIVER-$i-1000.dat - if [ $i != "boost" ] || boost_irq_prio 90; then - PID_S=`vca_canping -s 1 -b -R FF:$RTPRIO -d $CAN1` - vca_canping -m 1 -R FF:$RTPRIO -v -g $DRIVER-$i -t 1 -d $CAN0 -w 2 -c $COUNT - kill $PID_S - fi - kill $PID_PING - sleep 1 # Wait for remote buffers to become empty + for budget in 300 1 1000; do + echo $budget > /proc/sys/net/core/netdev_budget + ssh root@${SSH_CONNECTION%% *} 'ping -fs 64000 ${SSH_CONNECTION%% *}' & + PID_PING=$! + echo 0 1 > $DRIVER-$i-$budget-1000.dat + if [ $budget -eq 300 -o $DRIVER == "socketcan" ]; then + if [ $i != "boost" ] || boost_irq_prio 90; then + PID_S=`vca_canping -s 1 -b -R FF:$RTPRIO -d $CAN1` + vca_canping -m 1 -R FF:$RTPRIO -v -g $DRIVER-$i-$budget -t 1 -d $CAN0 -w 2 -c $COUNT + kill $PID_S + fi + fi + kill $PID_PING + sleep 1 # Wait for remote buffers to become empty + done done } @@ -25,9 +30,14 @@ set logscale y set grid set xlabel "Time [ms]" set ylabel "Latency profile [messages]" -plot [0:] "socketcan-norm-1000.dat" with lp lt 1 title "Socketcan",\ - "lincan-norm-1000.dat" with lp lt 2 title "Lincan",\ - "socketcan-boost-1000.dat" with lp lt 1 title "Socketcan boosted IRQ prio",\ - "lincan-boost-1000.dat" with lp lt 2 title "Lincan boosted IRQ prio" +plot [0:] \ + "socketcan-norm-300-1000.dat" with lp lt 1 title "Socketcan",\ + "lincan-norm-300-1000.dat" with lp lt 2 title "Lincan",\ + "socketcan-boost-300-1000.dat" with lp lt 1 title "Socketcan boosted IRQ prio",\ + "lincan-boost-300-1000.dat" with lp lt 2 title "Lincan boosted IRQ prio",\ + "socketcan-norm-1-1000.dat" with lp lt 1 title "Socketcan netdev\\\\_budget=1",\ + "socketcan-boost-1-1000.dat" with lp lt 1 title "Socketcan boosted IRQ prio, netdev\\\\_budget=1",\ + "socketcan-norm-1000-1000.dat" with lp lt 1 title "Socketcan, netdev\\\\_budget=1000",\ + "socketcan-boost-1000-1000.dat" with lp lt 1 title "Socketcan boosted IRQ prio, netdev\\\\_budget=1000" EOF } diff --git a/tests/ethflood64k.sh b/tests/ethflood64k.sh index dcf1fe9..e6af163 100755 --- a/tests/ethflood64k.sh +++ b/tests/ethflood64k.sh @@ -4,16 +4,21 @@ t() { for i in norm boost; do - ssh root@${SSH_CONNECTION%% *} 'ping -fs 64000 ${SSH_CONNECTION%% *}' & - PID_PING=$! - echo 0 1 > $DRIVER-$i-1000.dat - if [ $i != "boost" ] || boost_irq_prio 90; then - PID_S=`vca_canping -s 1 -b -R FF:$RTPRIO -d $CAN1` - vca_canping -m 1 -R FF:$RTPRIO -v -g $DRIVER-$i -t 1 -d $CAN0 -w 0 -c $COUNT - kill $PID_S - fi - kill $PID_PING - sleep 1 # Wait for remote buffers to become empty + for budget in 300 1 1000; do + echo $budget > /proc/sys/net/core/netdev_budget + ssh root@${SSH_CONNECTION%% *} 'ping -fs 64000 ${SSH_CONNECTION%% *}' & + PID_PING=$! + echo 0 1 > $DRIVER-$i-$budget-1000.dat + if [ $budget -eq 300 -o $DRIVER == "socketcan" ]; then + if [ $i != "boost" ] || boost_irq_prio 90; then + PID_S=`vca_canping -s 1 -b -R FF:$RTPRIO -d $CAN1` + vca_canping -m 1 -R FF:$RTPRIO -v -g $DRIVER-$i-$budget -t 1 -d $CAN0 -w 0 -c $COUNT + kill $PID_S + fi + fi + kill $PID_PING + sleep 1 # Wait for remote buffers to become empty + done done } @@ -25,9 +30,14 @@ set logscale y set grid set xlabel "Time [ms]" set ylabel "Latency profile [messages]" -plot [0:] "socketcan-norm-1000.dat" with lp lt 1 title "Socketcan",\ - "lincan-norm-1000.dat" with lp lt 2 title "Lincan",\ - "socketcan-boost-1000.dat" with lp lt 1 title "Socketcan boosted IRQ prio",\ - "lincan-boost-1000.dat" with lp lt 2 title "Lincan boosted IRQ prio" +plot [0:] \ + "socketcan-norm-300-1000.dat" with lp lt 1 title "Socketcan",\ + "lincan-norm-300-1000.dat" with lp lt 2 title "Lincan",\ + "socketcan-boost-300-1000.dat" with lp lt 1 title "Socketcan boosted IRQ prio",\ + "lincan-boost-300-1000.dat" with lp lt 2 title "Lincan boosted IRQ prio",\ + "socketcan-norm-1-1000.dat" with lp lt 1 title "Socketcan netdev\\\\_budget=1",\ + "socketcan-boost-1-1000.dat" with lp lt 1 title "Socketcan boosted IRQ prio, netdev\\\\_budget=1",\ + "socketcan-norm-1000-1000.dat" with lp lt 1 title "Socketcan, netdev\\\\_budget=1000",\ + "socketcan-boost-1000-1000.dat" with lp lt 1 title "Socketcan boosted IRQ prio, netdev\\\\_budget=1000" EOF } diff --git a/tests/ethload.sh b/tests/ethload.sh index 6f36ba3..61e7ce8 100755 --- a/tests/ethload.sh +++ b/tests/ethload.sh @@ -4,16 +4,21 @@ t() { for i in norm boost; do - ssh root@${SSH_CONNECTION%% *} 'find -L /usr/src/linux -type f -exec cat "{}" ";"' > /dev/null & - PID_LOAD=$! - echo 0 1 > $DRIVER-$i-1000.dat - if [ $i != "boost" ] || boost_irq_prio 90; then - PID_S=`vca_canping -s 1 -b -R FF:$RTPRIO -d $CAN1` - vca_canping -m 1 -R FF:$RTPRIO -v -g $DRIVER-$i -t 1 -d $CAN0 -w 0 -c $COUNT - kill $PID_S - fi - kill $PID_LOAD - sleep 1 # Wait for remote buffers to become empty + for budget in 300 1 1000; do + echo $budget > /proc/sys/net/core/netdev_budget + ssh root@${SSH_CONNECTION%% *} 'find -L /usr/src/linux -type f -exec cat "{}" ";"' > /dev/null & + PID_LOAD=$! + echo 0 1 > $DRIVER-$i-$budget-1000.dat + if [ $budget -eq 300 -o $DRIVER == "socketcan" ]; then + if [ $i != "boost" ] || boost_irq_prio 90; then + PID_S=`vca_canping -s 1 -b -R FF:$RTPRIO -d $CAN1` + vca_canping -m 1 -R FF:$RTPRIO -v -g $DRIVER-$i-$budget -t 1 -d $CAN0 -w 0 -c $COUNT + kill $PID_S + fi + fi + kill $PID_LOAD + sleep 1 # Wait for remote buffers to become empty + done done } @@ -25,9 +30,14 @@ set logscale y set grid set xlabel "Time [ms]" set ylabel "Latency profile [messages]" -plot [0:] "socketcan-norm-1000.dat" with lp lt 1 title "Socketcan",\ - "lincan-norm-1000.dat" with lp lt 2 title "Lincan",\ - "socketcan-boost-1000.dat" with lp lt 1 title "Socketcan boosted IRQ prio",\ - "lincan-boost-1000.dat" with lp lt 2 title "Lincan boosted IRQ prio" +plot [0:] \ + "socketcan-norm-300-1000.dat" with lp lt 1 title "Socketcan",\ + "lincan-norm-300-1000.dat" with lp lt 2 title "Lincan",\ + "socketcan-boost-300-1000.dat" with lp lt 1 title "Socketcan boosted IRQ prio",\ + "lincan-boost-300-1000.dat" with lp lt 2 title "Lincan boosted IRQ prio",\ + "socketcan-norm-1-1000.dat" with lp lt 1 title "Socketcan netdev\\\\_budget=1",\ + "socketcan-boost-1-1000.dat" with lp lt 1 title "Socketcan boosted IRQ prio, netdev\\\\_budget=1",\ + "socketcan-norm-1000-1000.dat" with lp lt 1 title "Socketcan, netdev\\\\_budget=1000",\ + "socketcan-boost-1000-1000.dat" with lp lt 1 title "Socketcan boosted IRQ prio, netdev\\\\_budget=1000" EOF }