Whamcloud - gitweb
Remove setup code from runregression-net.sh and runregression-brw.sh.
[fs/lustre-release.git] / lustre / tests / runregression-brw.sh
1 #!/bin/sh
2 export PATH=/sbin:/usr/sbin:$PATH
3
4 SRCDIR="`dirname $0`/"
5 . $SRCDIR/common.sh
6
7 OSCDEV="`device_list 2> /dev/null | awk '/ UP osc / { print $4 }'`"
8
9 if [ -z "$OSCDEV" ]; then
10         echo "$0: needs an OSC set up first" 1>&2
11         exit 1
12 fi
13
14 runthreads() {
15         THR=$1
16         DO=$2
17         CNT=$3
18         V=$4
19         PGS=$5
20
21         case $DO in
22         test_getattr)
23                 RW=
24                 ;;
25         test_brw_write)
26                 DO=test_brw
27                 RW=w
28                 ;;
29
30         test_brw_read)
31                 DO=test_brw
32                 RW=r
33                 ;;
34         esac
35
36         $OBDCTL --threads $THR v \$$OSCDEV $DO $CNT $RW $V $PGS $OID || exit 1
37
38         if [ -e endrun ]; then
39                 rm endrun
40                 echo "exiting because endrun file was found"
41                 exit 0
42         fi
43 }
44
45 [ -z "$OID" ] && OID=`$OBDCTL --device \$$OSCDEV create 1 | awk '/is object id/ { print $6 }'`
46 [ -z "$OID" ] && echo "error creating object" 1>&2 && exit 1
47
48 # TODO: obdctl needs to check on the progress of each forked thread
49 #       (IPC SHM, sockets?) to see if it hangs.
50 while date; do
51         PG=1
52         PGVW=16
53         PGVR=16
54
55         # We use '--threads 1 X' instead of '--device X' so that
56         # obdctl can monitor the forked thread for progress (TODO).
57         debug_server_off
58         debug_client_off
59         runthreads 1 test_brw_write 1000 -30 $PG
60         runthreads 1 test_brw_read 1000 -30 $PG
61
62         [ "$PGVW" ] && runthreads 1 test_brw_write 100 -30 $PGVW
63         [ "$PGVW" ] && runthreads 1 test_brw_read 1600 -30 $PG
64         [ "$PGVR" ] && runthreads 1 test_brw_read 100 -30 $PGVR
65
66         runthreads 1 test_brw_write 10000000 -30 $PG
67         runthreads 1 test_brw_read 10000000 -30 $PG
68
69         [ "$PGVW" ] && runthreads 1 test_brw_write 1000000 -30 $PGVW
70         [ "$PGVW" ] && runthreads 1 test_brw_read 16000000 -30 $PG
71         [ "$PGVR" ] && runthreads 1 test_brw_read 1000000 -30 $PGVR
72
73         runthreads 2 test_brw_write 10000000 -30 $PG
74         runthreads 2 test_brw_read 10000000 -30 $PG
75
76         [ "$PGVW" ] && runthreads 2 test_brw_write 1000000 -30 $PGVW
77         [ "$PGVW" ] && runthreads 1 test_brw_read 16000000 -30 $PG
78         [ "$PGVR" ] && runthreads 2 test_brw_read 1000000 -30 $PGVR
79
80         runthreads 10 test_brw_write 1000000 -30 $PG
81         runthreads 1 test_brw_read 16000000 -30 $PG
82         runthreads 10 test_brw_read 1000000 -30 $PG
83
84         [ "$PGVW" ] && runthreads 10 test_brw_write 100000 -60 $PGVW
85         [ "$PGVW" ] && runthreads 1 test_brw_read 1600000 -30 $PG
86         [ "$PGVR" ] && runthreads 10 test_brw_read 100000 -60 $PGVR
87
88         runthreads 32 test_brw_write 1000000 -30 $PG
89         runthreads 1 test_brw_read 16000000 -30 $PG
90         runthreads 32 test_brw_read 1000000 -30 $PG
91
92         [ "$PGVW" ] && runthreads 32 test_brw_write 100000 -60 $PGVW
93         [ "$PGVW" ] && runthreads 1 test_brw_read 1600000 -30 $PG
94         [ "$PGVR" ] && runthreads 32 test_brw_read 100000 -60 $PGVR
95
96         runthreads 64 test_brw_write 1000000 -30 $PG
97         runthreads 1 test_brw_read 16000000 -30 $PG
98         runthreads 64 test_brw_read 1000000 -30 $PG
99
100         [ "$PGVW" ] && runthreads 64 test_brw_write 100000 -60 $PGVW
101         [ "$PGVW" ] && runthreads 1 test_brw_read 1600000 -30 $PG
102         [ "$PGVR" ] && runthreads 64 test_brw_read 100000 -60 $PGVR
103
104         runthreads 100 test_brw_write 100000 -60 $PG
105         runthreads 1 test_brw_read 1600000 -30 $PG
106         runthreads 100 test_brw_read 100000 -60 $PG
107
108         [ "$PGVW" ] && runthreads 100 test_brw_write 100000 -60 $PGVW
109         [ "$PGVW" ] && runthreads 1 test_brw_read 1600000 -30 $PG
110         [ "$PGVR" ] && runthreads 100 test_brw_read 100000 -60 $PGVR
111 done
112
113 $OBDCTL --device \$$OSCDEV destroy $OID