From f7411ff5b11065e770acfa158d227bbd49af7efd Mon Sep 17 00:00:00 2001 From: Michal Sojka Date: Sun, 12 Dec 2010 17:11:37 +0100 Subject: [PATCH 1/1] Do not try to access the GW if it is not necessary --- gw-tests/lib.sh | 44 ++++++++++++++++++++++++++------------------ 1 file changed, 26 insertions(+), 18 deletions(-) diff --git a/gw-tests/lib.sh b/gw-tests/lib.sh index a67a46e..fc12ade 100644 --- a/gw-tests/lib.sh +++ b/gw-tests/lib.sh @@ -33,6 +33,8 @@ PATH=$PWD/../_compiled/bin/:$PATH sshgw() { local socket="$HOME/.ssh/cangw-connection" + if [[ "$NO_GW_NEEDED" ]]; then return; fi + if [[ ! -S $socket ]] || ! ssh -x -a -S $socket root@192.168.2.3 true; then # Create master connection to speed up subsequenct command. ssh -N -f -M -S $socket root@192.168.2.3 >/dev/null 2>&1 @@ -111,25 +113,31 @@ _measure() { # Kill load generators left possibly from the past runs killall -q ping || : killall -q latester || : - sshgw 'killall -q hackbench || :' - # Set can interfaces up - sshgw 'for i in 0 1; do ip link show dev can$i|grep -q UP || ip link set can$i up type can bitrate 1000000; done' - # Delete all vcan interfaces - sshgw 'for dev in $(ip l|grep -o vcan[^:]\\+); do ip link del dev $dev; done' - # Reset priorities - sshgw 'if pid=`pidof irq/145-can0`; then chrt -p -f 50 $pid > /dev/null; fi' - sshgw 'if pid=`pidof irq/146-can1`; then chrt -p -f 50 $pid > /dev/null; fi' - sshgw 'if pid=`pidof sirq-net-rx/0`; then chrt -p -f 49 $pid > /dev/null; fi' - sshgw 'if pid=`pidof sirq-net-tx/0`; then chrt -p -f 49 $pid > /dev/null; fi' - # Set the length of qdisc queue to avoid ENOBUFS errors - ifconfig can0 txqueuelen 200 - ifconfig can1 txqueuelen 200 - cleanupgw - - type prepare >/dev/null 2>&1 && prepare || : - start_load + if [[ ! "$NO_GW_NEEDED" ]]; then + sshgw 'killall -q hackbench || :' + # Set can interfaces up + sshgw 'for i in 0 1; do ip link show dev can$i|grep -q UP || ip link set can$i up type can bitrate 1000000; done' + # Delete all vcan interfaces + sshgw 'for dev in $(ip l|grep -o vcan[^:]\\+); do ip link del dev $dev; done' + # Reset priorities + sshgw 'if pid=`pidof irq/145-can0`; then chrt -p -f 50 $pid > /dev/null; fi' + sshgw 'if pid=`pidof irq/146-can1`; then chrt -p -f 50 $pid > /dev/null; fi' + sshgw 'if pid=`pidof sirq-net-rx/0`; then chrt -p -f 49 $pid > /dev/null; fi' + sshgw 'if pid=`pidof sirq-net-tx/0`; then chrt -p -f 49 $pid > /dev/null; fi' + # Set the length of qdisc queue to avoid ENOBUFS errors + ifconfig can0 txqueuelen 200 + ifconfig can1 txqueuelen 200 + cleanupgw + + type prepare >/dev/null 2>&1 && prepare || : + start_load + fi + main - kill_load + + if [[ ! "$NO_GW_NEEDED" ]]; then + kill_load + fi # Create a plot script at the end to signalize that the # measurement was successfully finished -- 2.39.2