2 export PATH=/sbin:/usr/sbin:$PATH
7 COUNT=${COUNT:-10000000}
8 COUNT_10=`expr $COUNT / 10`
9 COUNT_100=`expr $COUNT / 100`
11 ENDRUN=endrun-`hostname`
13 ECHONAME="`$OBDCTL device_list 2> /dev/null | awk '/ echo_client / { print $4 }' | tail -1`"
15 if [ -z "$ECHONAME" ]; then
16 echo "$0: needs an ECHO_CLIENT set up first" 1>&2
21 $OBDCTL --device \$$ECHONAME destroy $OID
46 $OBDCTL --threads $THR v \$$ECHONAME $DO $CNT $RW $V $PGS $OID || exit 1
48 if [ -e $ENDRUN ]; then
50 echo "exiting because $ENDRUN file was found"
55 [ -z "$OID" ] && OID=`$OBDCTL --device \\$$ECHONAME create 1 | awk '/is object id/ { print $6 }'`
56 [ -z "$OID" ] && echo "error creating object" 1>&2 && exit 1
58 # TODO: obdctl needs to check on the progress of each forked thread
59 # (IPC SHM, sockets?) to see if it hangs.
65 # We use '--threads 1 X' instead of '--device X' so that
66 # obdctl can monitor the forked thread for progress (TODO).
69 runthreads 1 test_brw_write 1000 -30 $PG
70 runthreads 1 test_brw_read 1000 -30 $PG
72 [ "$PGVW" ] && runthreads 1 test_brw_write 100 -30 $PGVW
73 [ "$PGVW" ] && runthreads 1 test_brw_read 1600 -30 $PG
74 [ "$PGVR" ] && runthreads 1 test_brw_read 100 -30 $PGVR
76 runthreads 1 test_brw_write $COUNT -30 $PG
77 runthreads 1 test_brw_read $COUNT -30 $PG
79 [ "$PGVW" ] && runthreads 1 test_brw_write $COUNT_10 -30 $PGVW
80 [ "$PGVR" ] && runthreads 1 test_brw_read $COUNT_10 -30 $PGVR
82 runthreads 2 test_brw_write $COUNT -30 $PG
83 runthreads 2 test_brw_read $COUNT -30 $PG
85 [ "$PGVW" ] && runthreads 2 test_brw_write $COUNT_10 -30 $PGVW
86 [ "$PGVR" ] && runthreads 2 test_brw_read $COUNT_10 -30 $PGVR
88 runthreads 10 test_brw_write $COUNT_10 -30 $PG
89 runthreads 10 test_brw_read $COUNT_10 -30 $PG
91 [ "$PGVW" ] && runthreads 10 test_brw_write $COUNT_100 -60 $PGVW
92 [ "$PGVR" ] && runthreads 10 test_brw_read $COUNT_100 -60 $PGVR
94 runthreads 32 test_brw_write $COUNT_10 -30 $PG
95 runthreads 32 test_brw_read $COUNT_10 -30 $PG
97 [ "$PGVW" ] && runthreads 32 test_brw_write $COUNT_100 -60 $PGVW
98 [ "$PGVR" ] && runthreads 32 test_brw_read $COUNT_100 -60 $PGVR
100 runthreads 64 test_brw_write $COUNT_10 -30 $PG
101 runthreads 64 test_brw_read $COUNT_10 -30 $PG
103 [ "$PGVW" ] && runthreads 64 test_brw_write $COUNT_100 -60 $PGVW
104 [ "$PGVR" ] && runthreads 64 test_brw_read $COUNT_100 -60 $PGVR
106 runthreads 100 test_brw_write $COUNT_100 -60 $PG
107 runthreads 100 test_brw_read $COUNT_100 -60 $PG
109 [ "$PGVW" ] && runthreads 100 test_brw_write $COUNT_100 -60 $PGVW
110 [ "$PGVR" ] && runthreads 100 test_brw_read $COUNT_100 -60 $PGVR