Discussion:
[ofw] [PATCH 1/5] dapltest: update scripts for regression testing purposes
Davis, Arlin R
2014-03-13 17:04:50 UTC
Permalink
cl.sh and srv.sh update to provide better examples and
a method to quickly regression test any dapltest changes.

usage: srv.sh devicename
where devicename is provider (default = ofa-v2-mlx4_0-1)

usage: cl.sh hostname testname devicename
where testname
stop - request DAPLtest server to exit.
conn - simple connection with limited dater transfer
trans - single transaction test
transm - transaction test: multiple transactions [RW SND, RDMA]
transt - transaction test: multi-threaded, single transaction
transme - transaction test: multi-endpoints per thread
transmet - transaction test: multi: threads and endpoints per thread
transmete - transaction test: multi threads == endpoints
perf - Performance test
threads - multi-threaded single transaction test.
threadsm - multi: threads and endpoints, single transaction test.
rdma-write - RDMA write
rdma-read - RDMA read
bw - bandwidth
latb - latency tests, blocking for events
latp - latency tests, polling for events
lim - limit tests.
regression - loop over a collection of all tests.
where devicename is provider (default = ofa-v2-mlx4_0-1)

Signed-off-by: Arlin Davis <***@intel.com>
---
test/dapltest/scripts/cl.sh | 236 +++++++++++++++++++++++++++++++++++++-----
test/dapltest/scripts/srv.sh | 24 +++--
2 files changed, 226 insertions(+), 34 deletions(-)

diff --git a/test/dapltest/scripts/cl.sh b/test/dapltest/scripts/cl.sh
index 9a8d64f..46c7edb 100755
--- a/test/dapltest/scripts/cl.sh
+++ b/test/dapltest/scripts/cl.sh
@@ -1,6 +1,7 @@
#!/bin/sh
#
# Copyright (c) 2002-2005, Network Appliance, Inc. All rights reserved.
+# Copyright (c) 2014 Intel Corporation. All rights reserved.
#
# This Software is licensed under one of the following licenses:
#
@@ -28,31 +29,218 @@
# notice, one of the license notices in the documentation
# and/or other materials provided with the distribution.
#
-# Sample client invocation
+# Sample DAPLtest client Usage: cl.sh hostname [testname] [device]
#
+# default device = ofa-v2-mlx4_0-1
#
-me=`basename $0`
-case $# in
-0) host=dat-linux3
- device=0 ;;
-1) host=$1
- device=0 ;;
-2) host=$1
- device=$2 ;;
-*) echo Usage: $me '[hostname [device] ]' 1>&2 ; exit 1;;
-esac
-#
-#
-# ./dapltest -T T -V -d -t 2 -w 2 -i 1000111 -s ${host} -D ${device} \
-# client RW 4096 1 server RW 2048 4 \
-# client RR 1024 2 server RR 2048 2 \
-# client SR 1024 3 -f server SR 256 3 -f

- ./dapltest -T T -P -d -t 2 -w 2 -i 1024 -s ${host} -D ${device} \
- client RW 4096 1 server RW 2048 4 \
- client RR 1024 2 server RR 2048 2 \
- client SR 1024 3 -f server SR 256 3 -f
+DT=dapltest
+D=ofa-v2-mlx4_0-1
+L=1
+X=
+T=
+E=
+
+# need some help?
+if [ "$1" == "-h" ] ; then
+ T=
+else
+ S=$1
+ if [ ! "$2" == "" ] ; then
+ T=$2
+ if [ ! "$3" == "" ] ; then
+ D=$3
+ fi
+ fi
+fi
+
+if [ ! "$X" == "" ] ; then
+ DAT_OS_DBG_TYPE=$X
+ DAT_DBG_TYPE=$X
+ DAT_DBG_LEVEL=$X
+ DAPL_DBG_LEVEL=$X
+ DAPL_DBG_TYPE=$X
+else
+ DAT_DBG_TYPE=0x1
+ DAT_DBG_LEVEL=1
+fi
+
+echo ""
+echo "uDAPL client test $DT $T $D -> $S"
+echo ""
+
+# Endpoint and Thread stress
+if [ "$T" == "epa" ] ; then
+ T=10
+ E=10
+ LT=10
+ LE=50
+ for ((T=$T ; $T <= $LT ; $((T++)) )) ; do
+ for ((E=$E ; $E <= $LE ; $((E++)) )) ; do
+ echo $T $E: Multi: Threads[$T] Endpoints[$E] Send/Recv test - 4096 iterations, 3 8K segs
+ $DT -T T -s $S -D $D -i 4096 -t $T -w $E client SR 8192 3 server SR 8192 3
+ if [ $? -ne 0 ] ; then
+ echo failed $X
+ exit 1
+ fi
+ done
+ done
+ echo THREADS $LT and ENDPOINTS $LE loops completed.
+ exit
+fi
+
+if [ "$T" == "conn" ] ; then
+# Connectivity test - client sends one buffer with one 4KB segments, one time.
+# add '-d' for debug output.
+ $DT -T T -s $S -D $D -i 1 -t 1 -w 1 client SR 4096 server SR 4096
+ exit
+fi
+
+if [ "$T" == "trans" ] ; then
+ echo Transaction test - 8192 iterations, 1 thread, SR 4KB buffers
+ $DT -T T -s $S -D $D -i 8192 -t 1 -w 1 client SR 4096 server SR 4096
+ exit
+fi
+
+if [ "$T" == "transm" ] ; then
+ echo Multiple RW, RR, SR transactions, 4096 iterations
+ $DT -T T -P -t 1 -w 1 -i 4096 -s $S -D $D client RW 4096 1 server RW 2048 4 server RR 1024 1 client RR 2048 1 client SR 1024 3 -f server SR 256 3 -f
+ exit
+fi
+
+if [ "$T" == "transmx" ] ; then
+ echo Multiple RW, RR, SR transactions, 8192 iterations
+ $DT -T T -P -t 1 -w 1 -i 8192 -s $S -D $D \
+ client RW 32768 4 server RW 32768 4 \
+ server RR 32768 1 client RR 32768 1 \
+ client SR 16384 4 -f server SR 16384 4 -f
+ exit
+fi
+
+if [ "$T" == "transt" ] ; then
+ echo Multi-threaded[4] Transaction test - 4096 iterations, 1 thread, SR 4KB buffers
+ $DT -T T -s $S -D $D -i 4096 -t 4 -w 1 client SR 8192 3 server SR 8192 3
+ exit
+fi
+
+if [ "$T" == "transme" ] ; then
+ echo Multiple endpoints[4] transactions [RW, RR, SR], 4096 iterations
+ $DT -T T -P -t 1 -w 4 -i 4096 -s $S -D $D client RW 4096 1 server RW 2048 4 server RR 1024 1 client RR 2048 1 client SR 1024 3 -f server SR 256 3 -f
+ exit
+fi
+
+if [ "$T" == "transmet" ] ; then
+ echo Multiple: threads[2] endpoints[4] transactions[RW, RR, SR], 4096 iterations
+ $DT -T T -P -t 2 -w 4 -i 4096 -s $S -D $D client RW 4096 1 server RW 2048 4 server RR 1024 1 client RR 2048 1 client SR 1024 3 -f server SR 256 3 -f
+ exit
+fi
+
+if [ "$T" == "transmete" ] ; then
+ echo Multiple: threads[4] endpoints[4] transactions[RW, RR, SR], 8192 iterations
+ $DT -T T -P -t 4 -w 4 -i 8192 -s $S -D $D client RW 4096 1 server RW 2048 4 server RR 1024 1 client RR 2048 1 client SR 1024 3 -f server SR 256 3 -f
+ exit
+fi
+
+if [ "$T" == "threads" ] ; then
+ echo Multi Threaded[6] Send/Recv test - 4096 iterations, 3 8K segs
+ $DT -T T -s $S -D $D -i 4096 -t 6 -w 1 client SR 8192 3 server SR 8192 3
+ exit
+fi
+
+if [ "$T" == "threadsm" ] ; then
+ echo Multi: Threads[4] endpoints[4] Send/Recv test - 4096 iterations, 3 8K segs
+ $DT -T T -s $S -D $D -i 4096 -t 4 -w 4 client SR 8192 3 server SR 8192 3
+ exit
+fi
+
+if [ "$T" == "perf" ] ; then
+ #echo Performance test
+ $DT -T P -s $S -D $D -i 2048 -m b RW 4096 2
+ exit
+fi
+
+if [ "$T" == "rdma-read" ] ; then
+ $DT -T P -s $S -D $D -i 4096 RR 32768 1
+ exit
+fi
+
+if [ "$T" == "rdma-write" ] ; then
+ $DT -T P -s $S -D $D -i 4096 RW 32768 4
+ exit
+fi
+
+if [ "$T" == "bw" ] ; then
+ echo bandwidth 65K msgs
+ $DT -T P -s $S -D $D -i 4096 -p 16 -m b RW 65536 2
+ exit
+fi
+
+if [ "$T" == "latb" ] ; then
+ echo latency test - block for completion events
+ $DT -T P -s $S -D $D -i 8192 -p 1 -m b RW 4 1
+ exit
+fi
+
+if [ "$T" == "latp" ] ; then
+ echo latency test - poll completion events
+ $DT -T P -s $S -D $D -i 100000 -p 1 -m p RW 4 1
+ exit
+fi
+
+if [ "$T" == "lim" ] ; then
+ echo Resource limit tests
+ $DT -T L -D $D -w 8 -m 100 limit_ia
+ $DT -T L -D $D -w 8 -m 100 limit_pz
+ $DT -T L -D $D -w 8 -m 100 limit_evd
+ $DT -T L -D $D -w 8 -m 100 limit_ep
+ $DT -T L -D $D -w 8 -m 100 limit_psp
+ $DT -T L -D $D -w 8 -m 100 limit_lmr
+ $DT -T L -D $D -w 8 -m 15 limit_rpost
+ exit
+fi
+
+if [ "$T" == "regression" ] ; then
+ echo $T testing in $L Loops
+ # rdma-write, read, perf
+ TST="trans perf threads threadsm transm transt transme transmet transmete rdma-write rdma-read bw latb latp "
+ for ((n=1 ; $n <= $L ; $((n++)) )) ; do
+ for X in $TST ; do
+ $0 $1 $X $D
+ if [ $? -ne 0 ] ; then
+ echo failed $X
+ exit 1
+ fi
+ done
+ echo $n $T loops completed.
+ done
+ $DT -T Q -s $S -D $D
+ exit 0
+fi
+
+if [ "$T" == "stop" ] ; then
+ $DT -T Q -s $S -D $D
+ exit
+fi
+
+echo " usage: cl.sh hostname [testname [-D]]"
+echo " where testname"
+echo " stop - request DAPLtest server to exit."
+echo " conn - simple connection with limited dater transfer"
+echo " trans - single transaction test"
+echo " transm - transaction test: multiple transactions [RW SND, RDMA]"
+echo " transt - transaction test: multi-threaded, single transaction"
+echo " transme - transaction test: multi-endpoints per thread "
+echo " transmet - transaction test: multi: threads and endpoints per thread"
+echo " transmete - transaction test: multi threads == endpoints"
+echo " perf - Performance test"
+echo " threads - multi-threaded single transaction test."
+echo " threadsm - multi: threads and endpoints, single transaction test."
+echo " rdma-write - RDMA write"
+echo " rdma-read - RDMA read"
+echo " bw - bandwidth"
+echo " latb - latency tests, blocking for events"
+echo " latp - latency tests, polling for events"
+echo " lim - limit tests."
+echo " regression - loop over a collection of all tests."

-#dapltest -T T -d -s ${host} -D ${device} -i 10000 -t 1 -w 1 \
-# client SR 256 \
-# server SR 256
+exit 0
diff --git a/test/dapltest/scripts/srv.sh b/test/dapltest/scripts/srv.sh
index 78e8f63..1f05c7a 100755
--- a/test/dapltest/scripts/srv.sh
+++ b/test/dapltest/scripts/srv.sh
@@ -1,6 +1,7 @@
#!/bin/sh
#
# Copyright (c) 2002-2005, Network Appliance, Inc. All rights reserved.
+# Copyright (c) 2014 Intel Corporation. All rights reserved.
#
# This Software is licensed under one of the following licenses:
#
@@ -28,16 +29,19 @@
# notice, one of the license notices in the documentation
# and/or other materials provided with the distribution.
#
-# Sample server invocation
+# Sample DAPLtest server Usage: srv.sh [device]
#
-me=`basename $0`
-case $# in
-0) device=0;;
-1) device=$1 ;;
-*) echo Usage: $me '[device]' 1>&2 ; exit 1;;
-esac
+# default device = ofa-v2-mlx4_0-1
#
-#
-# ./dapltest -T S -d -D ${device}

- ./dapltest -T S -D ${device}
+DT=dapltest
+D=ofa-v2-mlx4_0-1
+
+if [ ! "$1" == "" ] ; then
+ D=$1
+fi
+

Loading...