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 <arlin.r.da...@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 + +$DT -T S -D $D +exit $? + + -- 1.7.3