Whamcloud - gitweb
- fixes for making liblustre at least buildable (including fixes to compilation bug...
[fs/lustre-release.git] / lustre / tests / runregression-brw.sh
index 6925ec2..666b253 100644 (file)
@@ -1,16 +1,25 @@
 #!/bin/sh
-export PATH=/sbin:/usr/sbin:$PATH
-
 SRCDIR="`dirname $0`/"
-. $SRCDIR/common.sh
+export PATH=/sbin:/usr/sbin:$SRCDIR/../utils:$PATH
+
+LOOPS=${LOOPS:-1}
+COUNT=${COUNT:-100000}
+COUNT_10=`expr $COUNT / 10`
+COUNT_100=`expr $COUNT / 100`
+
+ENDRUN=endrun-`hostname`
 
-OSCDEV="`$OBDCTL device_list 2> /dev/null | awk '/ UP osc / { print $4 }'`"
+ECHONAME="`lctl device_list 2> /dev/null | awk '/ echo_client / { print $4 }' | tail -n 1`"
 
-if [ -z "$OSCDEV" ]; then
-       echo "$0: needs an OSC set up first" 1>&2
+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
@@ -26,31 +35,30 @@ runthreads() {
                DO=test_brw
                RW=w
                ;;
-
        test_brw_read)
                DO=test_brw
                RW=r
                ;;
        esac
 
-       $OBDCTL --threads $THR v \$$OSCDEV $DO $CNT $RW $V $PGS $OID || exit 1
+       lctl --threads $THR v \$$ECHONAME $DO $CNT $RW $V $PGS $OID || exit 1
 
-       if [ -e endrun ]; then
-               rm endrun
-               echo "exiting because endrun file was found"
-               exit 0
+       if [ -e $ENDRUN ]; then
+               rm $ENDRUN
+               echo "exiting because $ENDRUN file was found"
+               cleanup
        fi
 }
 
-[ -z "$OID" ] && 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.
-while date; do
+for i in `seq $LOOPS`; do
        PG=1
-       PGVW=16
-       PGVR=16
+       PGVW=${PGVW:-16}
+       PGVR=${PGVR:-16}
 
        # We use '--threads 1 X' instead of '--device X' so that
        # obdctl can monitor the forked thread for progress (TODO).
@@ -63,51 +71,41 @@ while date; do
        [ "$PGVW" ] && runthreads 1 test_brw_read 1600 -30 $PG
        [ "$PGVR" ] && runthreads 1 test_brw_read 100 -30 $PGVR
 
-       runthreads 1 test_brw_write 10000000 -30 $PG
-       runthreads 1 test_brw_read 10000000 -30 $PG
+       runthreads 1 test_brw_write $COUNT -30 $PG
+       runthreads 1 test_brw_read $COUNT -30 $PG
 
-       [ "$PGVW" ] && runthreads 1 test_brw_write 1000000 -30 $PGVW
-       [ "$PGVW" ] && runthreads 1 test_brw_read 16000000 -30 $PG
-       [ "$PGVR" ] && runthreads 1 test_brw_read 1000000 -30 $PGVR
+       [ "$PGVW" ] && runthreads 1 test_brw_write $COUNT_10 -30 $PGVW
+       [ "$PGVR" ] && runthreads 1 test_brw_read $COUNT_10 -30 $PGVR
 
-       runthreads 2 test_brw_write 10000000 -30 $PG
-       runthreads 2 test_brw_read 10000000 -30 $PG
+       runthreads 2 test_brw_write $COUNT -30 $PG
+       runthreads 2 test_brw_read $COUNT -30 $PG
 
-       [ "$PGVW" ] && runthreads 2 test_brw_write 1000000 -30 $PGVW
-       [ "$PGVW" ] && runthreads 1 test_brw_read 16000000 -30 $PG
-       [ "$PGVR" ] && runthreads 2 test_brw_read 1000000 -30 $PGVR
+       [ "$PGVW" ] && runthreads 2 test_brw_write $COUNT_10 -30 $PGVW
+       [ "$PGVR" ] && runthreads 2 test_brw_read $COUNT_10 -30 $PGVR
 
-       runthreads 10 test_brw_write 1000000 -30 $PG
-       runthreads 1 test_brw_read 16000000 -30 $PG
-       runthreads 10 test_brw_read 1000000 -30 $PG
+       runthreads 10 test_brw_write $COUNT_10 -30 $PG
+       runthreads 10 test_brw_read $COUNT_10 -30 $PG
 
-       [ "$PGVW" ] && runthreads 10 test_brw_write 100000 -60 $PGVW
-       [ "$PGVW" ] && runthreads 1 test_brw_read 1600000 -30 $PG
-       [ "$PGVR" ] && runthreads 10 test_brw_read 100000 -60 $PGVR
+       [ "$PGVW" ] && runthreads 10 test_brw_write $COUNT_100 -60 $PGVW
+       [ "$PGVR" ] && runthreads 10 test_brw_read $COUNT_100 -60 $PGVR
 
-       runthreads 32 test_brw_write 1000000 -30 $PG
-       runthreads 1 test_brw_read 16000000 -30 $PG
-       runthreads 32 test_brw_read 1000000 -30 $PG
+       runthreads 32 test_brw_write $COUNT_10 -30 $PG
+       runthreads 32 test_brw_read $COUNT_10 -30 $PG
 
-       [ "$PGVW" ] && runthreads 32 test_brw_write 100000 -60 $PGVW
-       [ "$PGVW" ] && runthreads 1 test_brw_read 1600000 -30 $PG
-       [ "$PGVR" ] && runthreads 32 test_brw_read 100000 -60 $PGVR
+       [ "$PGVW" ] && runthreads 32 test_brw_write $COUNT_100 -60 $PGVW
+       [ "$PGVR" ] && runthreads 32 test_brw_read $COUNT_100 -60 $PGVR
 
-       runthreads 64 test_brw_write 1000000 -30 $PG
-       runthreads 1 test_brw_read 16000000 -30 $PG
-       runthreads 64 test_brw_read 1000000 -30 $PG
+       runthreads 64 test_brw_write $COUNT_10 -30 $PG
+       runthreads 64 test_brw_read $COUNT_10 -30 $PG
 
-       [ "$PGVW" ] && runthreads 64 test_brw_write 100000 -60 $PGVW
-       [ "$PGVW" ] && runthreads 1 test_brw_read 1600000 -30 $PG
-       [ "$PGVR" ] && runthreads 64 test_brw_read 100000 -60 $PGVR
+       [ "$PGVW" ] && runthreads 64 test_brw_write $COUNT_100 -60 $PGVW
+       [ "$PGVR" ] && runthreads 64 test_brw_read $COUNT_100 -60 $PGVR
 
-       runthreads 100 test_brw_write 100000 -60 $PG
-       runthreads 1 test_brw_read 1600000 -30 $PG
-       runthreads 100 test_brw_read 100000 -60 $PG
+       runthreads 100 test_brw_write $COUNT_100 -60 $PG
+       runthreads 100 test_brw_read $COUNT_100 -60 $PG
 
-       [ "$PGVW" ] && runthreads 100 test_brw_write 100000 -60 $PGVW
-       [ "$PGVW" ] && runthreads 1 test_brw_read 1600000 -30 $PG
-       [ "$PGVR" ] && runthreads 100 test_brw_read 100000 -60 $PGVR
+       [ "$PGVW" ] && runthreads 100 test_brw_write $COUNT_100 -60 $PGVW
+       [ "$PGVR" ] && runthreads 100 test_brw_read $COUNT_100 -60 $PGVR
 done
 
-$OBDCTL --device \$$OSCDEV destroy $OID
+cleanup