X-Git-Url: https://git.whamcloud.com/?a=blobdiff_plain;f=lustre%2Ftests%2Frunregression-net.sh;h=77d6768ed884a9aa5b23b5d90306bbf93eb2e5a8;hb=6f30c4a1bccd877410ab6a5d236b6427c279d452;hp=634b49f3a8caec8b2e2fab05cb51051126ed5eac;hpb=2249ca72ddd11d824867a1f453d6ebd6c30caef4;p=fs%2Flustre-release.git diff --git a/lustre/tests/runregression-net.sh b/lustre/tests/runregression-net.sh index 634b49f..77d6768 100644 --- a/lustre/tests/runregression-net.sh +++ b/lustre/tests/runregression-net.sh @@ -1,14 +1,25 @@ #!/bin/sh -export PATH=/sbin:/usr/sbin:$PATH - SRCDIR="`dirname $0`/" -. $SRCDIR/common.sh +export PATH=/sbin:/usr/sbin:$SRCDIR/../utils:$PATH + +COUNT=${COUNT:-100000} +COUNT_10=`expr $COUNT / 10` +COUNT_100=`expr $COUNT / 100` +COUNT_1000=`expr $COUNT / 1000` -setup_opts $@ +ENDRUN=endrun-`hostname` -setup_portals -setup_lustre +ECHONAME="`lctl device_list 2> /dev/null | awk '/ echo_client / { print $4 }' | tail -n 1`" +if [ -z "$ECHONAME" ]; then + echo "$0: needs an ECHO_CLIENT set up first" 1>&2 + exit 1 +fi + +cleanup () { + lctl --device \$$ECHONAME destroy $OID +} + runthreads() { THR=$1 DO=$2 @@ -16,7 +27,7 @@ runthreads() { V=$4 PGS=$5 - case $CMD in + case $DO in test_getattr) RW= ;; @@ -24,30 +35,27 @@ runthreads() { DO=test_brw RW=w ;; - test_brw_read) DO=test_brw RW=r ;; esac - if [ -e endrun ]; then - rm endrun - echo "exiting because endrun file was found" - exit 0 - fi + lctl --threads $THR v \$$ECHONAME $DO $CNT $RW $V $PGS $OID || exit 1 - $OBDCTL --threads $THR v '$OSCDEV' $DO $CNT $RW $V $PGS $OID || exit 1 + if [ -e $ENDRUN ]; then + rm $ENDRUN + echo "exiting because $ENDRUN file was found" + cleanup + fi } -OID=`$OBDCTL --device '$OSCDEV' create 1 | awk '/is object id/ { print $6 }'` +[ -z "$OID" ] && OID=`lctl --device \\$$ECHONAME create 1 | awk '/is object id/ { print $6 }'` && echo "created object $OID" +[ -z "$OID" ] && echo "error creating object" 1>&2 && exit 1 # TODO: obdctl needs to check on the progress of each forked thread # (IPC SHM, sockets?) to see if it hangs. for CMD in test_getattr test_brw_write test_brw_read; do - setup_server || exit -1 - setup_client || exit -1 - case $CMD in test_getattr) PG= @@ -55,12 +63,11 @@ for CMD in test_getattr test_brw_write test_brw_read; do ;; test_brw_write) PG=1 - PGV=16 + PGV=${PGV:-16} ;; - test_brw_read) PG=1 - #PGV=16 # disabled until the BA OST code is updated + PGV=${PGV:-16} ;; esac @@ -69,35 +76,24 @@ for CMD in test_getattr test_brw_write test_brw_read; do runthreads 1 $CMD 1 1 $PG runthreads 1 $CMD 100 1 $PG - debug_server_off - debug_client_off - runthreads 1 $CMD 10000 100 $PG - [ "$PGV" ] && runthreads 1 $CMD 1000 100 $PGV + echo 0 > /proc/sys/portals/debug + runthreads 1 $CMD $COUNT_100 -10 $PG + [ "$PGV" ] && runthreads 1 $CMD $COUNT_1000 -10 $PGV - runthreads 1 $CMD 1000000 -30 $PG - [ "$PGV" ] && runthreads 1 $CMD 100000 -30 $PGV + runthreads 1 $CMD $COUNT -30 $PG + [ "$PGV" ] && runthreads 1 $CMD $COUNT_10 -30 $PGV - debug_server_on - debug_client_on - runthreads 1 $CMD 100 1 $PG - - debug_server_off - debug_client_off - runthreads 2 $CMD 10000 100 $PG - [ "$PGV" ] && runthreads 2 $CMD 1000 100 $PGV + runthreads 2 $CMD $COUNT_100 -30 $PG + [ "$PGV" ] && runthreads 2 $CMD $COUNT_1000 -30 $PGV - runthreads 2 $CMD 1000000 -30 $PG - [ "$PGV" ] && runthreads 2 $CMD 100000 -30 $PGV + runthreads 2 $CMD $COUNT -30 $PG + [ "$PGV" ] && runthreads 2 $CMD $COUNT_10 -30 $PGV - runthreads 10 $CMD 10000 1000 $PG - [ "$PGV" ] && runthreads 10 $CMD 1000 1000 $PGV + runthreads 10 $CMD $COUNT_10 -30 $PG + [ "$PGV" ] && runthreads 10 $CMD $COUNT_100 -30 $PGV - runthreads 100 $CMD 10000 -30 $PG + runthreads 100 $CMD $COUNT_100 -30 $PG + [ "$PGV" ] && runthreads 100 $CMD $COUNT_1000 -30 $PGV done -$OBDCTL --device '$OSCDEV' destroy $OID - -cleanup_client || exit -1 -cleanup_server || exit -1 -cleanup_lustre -cleanup_portals +lctl --device \$$ECHONAME destroy $OID