Added automake.

master
Johann George (QLogic) 2007-10-23 02:36:27 -07:00
parent cac3720352
commit f8f23e18fa
16 changed files with 941 additions and 78 deletions

View File

@ -1,18 +0,0 @@
CC = gcc
CFLAGS = -Wall -O -DRDMA
all: qperf
qperf: qperf.o ip.o ib.o help.o
$(CC) -DRDMA -o $@ $^ -libverbs
help.c: help.txt
./mkhelp RDMA
.PHONY: clean
clean:
rm -f *.o help.c qperf
.PHONY: install
install:
cp qperf /usr/local/bin

6
Makefile.am Normal file
View File

@ -0,0 +1,6 @@
SUBDIRS = src
EXTRA_DIST = qperf.spec.in
dist-hook: qperf.spec
cp qperf.spec $(distdir)

6
autogen.sh Executable file
View File

@ -0,0 +1,6 @@
#!/bin/sh
#
touch AUTHORS NEWS README ChangeLog
aclocal &&
automake --add-missing &&
autoconf

23
cleanup Executable file
View File

@ -0,0 +1,23 @@
#!/bin/sh
# autotools makes such a mess.
#
make clean
rm -r -f autom4te.cache
rm -f `cat <<EOF
AUTHORS
ChangeLog
INSTALL
Makefile
Makefile.in
NEWS
README
aclocal.m4
config.log
config.status
configure
depcomp
install-sh
missing
src/Makefile
src/Makefile.in
EOF`

58
configure vendored
View File

@ -1,58 +0,0 @@
#!/bin/sh
#
LIBIBV=libibverbs.so.1
# Look for InfiniBand verbs library.
#
for DIR in /lib /usr/lib64 /usr/lib /usr/local/lib /usr/local/ibed/lib64 ""; do
[ -e $DIR/$LIBIBV ] &&
break
done
# Set up parameters.
#
if [ "`uname -m`" = ppc64 ]; then
K_M64=-m64
echo "Making PowerPC version"
fi
if [ -z "$DIR" ]; then
echo "Could not find $LIBIBV; making non-RDMA version"
else
echo "Found $LIBIBV in $DIR"
K_IB_O="ib.o"
K_DEF_IB="-DRDMA"
if [ "$DIR" = "/usr/lib64" ]; then
K_LIBS="-libverbs"
else
K_LIBS="-lsysfs -Wl,--rpath -Wl,$DIR $DIR/$LIBIBV"
fi
K_IB=RDMA
fi
# Produce Makefile
#
cat <<EOF >Makefile
CC = gcc $K_M64
CFLAGS = -Wall -O $K_DEF_IB
all: qperf qperf.1
qperf.1: help.txt
./mkman >qperf.1
qperf: qperf.o ip.o $K_IB_O help.o
\$(CC) $K_DEF_IB -o \$@ \$^ $K_LIBS
help.c: help.txt
./mkhelp $K_IB
.PHONY: clean
clean:
rm -f *.o help.c qperf qperf.1
.PHONY: install
install:
cp qperf /usr/local/bin
EOF

10
configure.in Normal file
View File

@ -0,0 +1,10 @@
AC_INIT(src/qperf.c)
PACKAGE=qperf
VERSION=0.20.0
AM_INIT_AUTOMAKE($PACKAGE, $VERSION)
AC_PROG_CC
AC_OUTPUT(Makefile src/Makefile)

38
qperf.spec Normal file
View File

@ -0,0 +1,38 @@
Name: qperf
Summary: Measure RMDA and IP performance
Version: 0.2.0
Release: 1
License: BSD 3-Clause, GPL v2
Group: Networking/Diagnostic
Source: http://www.openfabrics.org/downloads/%{name}-%{version}.tar.gz
Url: http://www.openfabrics.org
BuildRoot: %{_tmppath}/%{name}-%{version}-build
BuildRequires: libibverbs-devel
%description
Measure RDMA and IP performance.
%prep
%setup -q
%build
%configure
export CFLAGS="$RPM_OPT_FLAGS"
%{__make}
%install
install -D -m 0755 src/qperf $RPM_BUILD_ROOT%{_bindir}/qperf
install -D -m 0644 src/qperf.1 $RPM_BUILD_ROOT%{_mandir}/man1/qperf.1
%clean
rm -rf ${RPM_BUILD_ROOT}
%files
%defattr(-, root, root)
%doc COPYING
%_bindir/qperf
%_mandir/man1/qperf.1*
%changelog
* Sat Oct 20 2007 - johann@georgex.org
- Initial package

16
src/Makefile.am Normal file
View File

@ -0,0 +1,16 @@
bin_PROGRAMS = qperf
AM_CFLAGS = -Wall -O -DRDMA
qperf_SOURCES = qperf.c ip.c ib.c help.c qperf.h
qperf_LDADD = -libverbs
man_MANS = qperf.1
qperf.1: help.txt
./mkman >qperf.1
help.c: help.txt
./mkhelp RDMA
clean-local:
-rm -f qperf.1

840
src/help.c Normal file
View File

@ -0,0 +1,840 @@
/*
* This was generated from help.txt. Do not modify directly.
*
* Copyright (c) 2002-2007 Johann George. All rights reserved.
* Copyright (c) 2006-2007 QLogic Corporation. All rights reserved.
*
* This software is available to you under a choice of one of two
* licenses. You may choose to be licensed under the terms of the GNU
* General Public License (GPL) Version 2, available from the file
* COPYING in the main directory of this source tree, or the
* OpenIB.org BSD license below:
*
* Redistribution and use in source and binary forms, with or
* without modification, are permitted provided that the following
* conditions are met:
*
* - Redistributions of source code must retain the above
* copyright notice, this list of conditions and the following
* disclaimer.
*
* - Redistributions in binary form must reproduce the above
* copyright notice, this list of conditions and the following
* disclaimer in the documentation and/or other materials
* provided with the distribution.
*
* THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND,
* EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF
* MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND
* NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS
* BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN
* ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN
* CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE
* SOFTWARE.
*/
char *Usage[] ={
"main",
"Synopsis\n"
" qperf\n"
" qperf SERVERNODE [OPTIONS] TESTS\n"
"Description\n"
" qperf measures bandwidth and latency between two nodes. It can w"
"ork\n"
" over TCP/IP as well as the RDMA transports. On one of the nodes,"
" qperf\n"
" is typically run with no arguments designating it the server node"
". One\n"
" may then run qperf on a client node to obtain measurements such a"
"s\n"
" bandwidth, latency and cpu utilization.\n"
"More Information\n"
" qperf --help examples Some examples of using qperf\n"
" qperf --help opts Summary of options\n"
" qperf --help options Description of options\n"
" qperf --help tests Short summary and description of test"
"s\n"
" qperf --help TESTNAME More information on test TESTNAME\n",
"author",
"Written by Johann George.\n",
"bugs",
"None of the RDMA tests are available if qperf is compiled without the"
" RDMA\n"
"libraries. The -f and the -Ar options are not yet implemented in mos"
"t of\n"
"the tests.\n",
"examples",
"In these examples, we first run qperf on a node called myserver in se"
"rver\n"
"mode by invoking it with no arguments. In all the subsequent example"
"s, we\n"
"run qperf on another node and connect to the server which we assume h"
"as a\n"
"hostname of myserver.\n"
" * To run a TCP bandwidth and latency test:\n"
" qperf myserver tcp_bw tcp_lat\n"
" * To run a SDP bandwidth test for 10 seconds:\n"
" qperf -t 10 myserver sdp_bw\n"
" * To run a UDP latency test and then cause the server to terminat"
"e:\n"
" qperf myserver udp_lat quit\n"
" * To measure the RDMA UD latency and bandwidth:\n"
" qperf myserver ud_lat ud_bw\n"
" * To measure RDMA UC bi-directional bandwidth:\n"
" qperf myserver rc_bi_bw\n",
"opts",
"--access_recv Mode (-Ar) Access receive data\n"
"--affinity PN (-a) Set processor affinity\n"
" --loc_affinity PN (-la) Set local processor affinity\n"
" --rem_affinity PN (-ra) Set remote processor affinity\n"
"--flip Mode (-f) Flip sender and receiver\n"
"--help Topic (-h) Get more information on a topic\n"
"--host Node (-H) Identify server node\n"
"--id Device:Port (-i) Set IB device and port\n"
" --loc_id Device:Port (-li) Set local IB device and port\n"
" --rem_id Device:Port (-ri) Set remote IB device and port\n"
"--listen_port Port (-lp) Set server listen port\n"
"--msg_size Size (-m) Set message size\n"
"--mtu_size Size (-M) Set MTU size (IB only)\n"
"--no_msgs Count (-n) Send Count messages\n"
"--poll Mode (-P) Set polling mode on/off\n"
" --loc_poll Mode (-lP) Set local polling mode on/off\n"
" --rem_poll Mode (-lP) Set remote polling mode on/off\n"
"--port Port (-p) Set TCP port used for tests\n"
"--precision Digits (-e) Set precision reported\n"
"--rate (-r) Set IB static rate\n"
" --loc_rate (-lr) Set local IB static rate\n"
" --rem_rate (-rr) Set remote IB static rate\n"
"--rd_atomic Count (-R) Set RDMA read/atomic count\n"
" --loc_rd_atomic Count (-lR) Set local RDMA read/atomic count"
"\n"
" --rem_rd_atomic Count (-rR) Set remote RDMA read/atomic count"
"\n"
"--sock_buf_size Size (-S) Set socket buffer size\n"
" --loc_sock_buf_size Size (-lS) Set local socket buffer size\n"
" --rem_sock_buf_size Size (-rS) Set remote socket buffer size\n"
"--time (-t) Set test duration\n"
"--timeout Time (-T) Set timeout\n"
" --loc_timeout Time (-lT) Set local timeout\n"
" --rem_timeout Time (-rT) Set remote timeout\n"
"--unify_nodes (-U) Unify nodes\n"
"--unify_units (-u) Unify units\n"
"--verbose (-v) Verbose; turn on all of -v[cstu]"
"\n"
" --verbose_conf (-vc) Show configuration information\n"
" --verbose_stat (-vs) Show statistical information\n"
" --verbose_time (-vt) Show timing information\n"
" --verbose_used (-vu) Show information on parameters\n"
" --verbose_more (-vv) More verbose; turn on all of -v[C"
"STU]\n"
" --verbose_more_conf (-vC) Show more configuration informati"
"on\n"
" --verbose_more_stat (-vS) Show more statistical information"
"\n"
" --verbose_more_time (-vT) Show more timing information\n"
" --verbose_more_used (-vU) Show more information on paramete"
"rs\n"
"--version (-V) Print out version\n"
"--wait Time (-W) Set time to wait for server\n",
"options",
"--access_recv Mode (-Ar)\n"
" If Mode is non-zero, data is accessed once received. Otherwise"
", data\n"
" is ignored. By default, Mode is 0.\n"
"--affinity PN (-a)\n"
" Set processor affinity to PN. Processors are numbered sequenti"
"ally\n"
" from 0. If PN is \"any\", any processor is allowed otherwise t"
"he\n"
" processor is limited to the one specified.\n"
" --loc_affinity PN (-la)\n"
" Set local processor affinity to PN.\n"
" --rem_affinity PN (-ra)\n"
" Set remote processor affinity to PN.\n"
"--flip Mode (-f)\n"
" Cause sender and receiver to play opposite roles.\n"
"--help Topic (-h)\n"
" Print out information about Topic. To see the list of topics, "
"type\n"
" qperf --help\n"
"--host Host (-H)\n"
" Run test between the current node and the qperf running on node"
" Host.\n"
" This can also be specified as the first non-option argument.\n"
"--id Device:Port (-i)\n"
" Use InfiniBand Device and Port.\n"
" --loc_id Device:Port (-li)\n"
" Use local InfiniBand Device and Port.\n"
" --rem_id Device:Port (-ri)\n"
" Use remote InfiniBand Device and Port.\n"
"--listen_port Port (-lp)\n"
" Set the port we listen on to ListenPort. This must be set to t"
"he\n"
" same port on both the server and client machines. The default "
"value\n"
" is 19765.\n"
"--msg_size Size (-m)\n"
" Set the message size to Size. The default value varies by test"
". It\n"
" is assumed that the value is specified in bytes however, a trai"
"ling\n"
" kib or K, mib or M, or gib or G indicates that the size is bein"
"g\n"
" specified in kibibytes, mebibytes or gibibytes respectively whi"
"le a\n"
" trailing kb or k, mb or m, or gb or g indicates kilobytes, mega"
"bytes\n"
" or gigabytes respectively.\n"
"--mtu_size Size (-M)\n"
" Set the MTU size. Only relevant to the RDMA UC/RC tests. Unit"
"s are\n"
" specified in the same manner as the --msg_size option.\n"
"--no_msgs N (-n)\n"
" Set test duration by number of messages sent instead of time.\n"
"--poll Mode (-P)\n"
" Turn polling mode on or off. This is only relevant to the RDMA"
" tests\n"
" and determines whether they poll or wait. If Mode is 0, they w"
"ait;\n"
" otherwise they poll.\n"
" --loc_poll Mode (-lP)\n"
" Locally turn polling mode on or off.\n"
" --rem_poll Mode (-rP)\n"
" Remotely turn polling mode on or off.\n"
"--port Port (-p)\n"
" Use Port to run the socket tests. This is different from\n"
" --listen_port which is used for synchronization. This is only"
"\n"
" relevant for the socket tests and refers to the TCP/UDP/SDP/RDS"
" port\n"
" that the test is run on.\n"
"--precision Digits (-e)\n"
" Set the number of significant digits that are used to report re"
"sults.\n"
"--rate Rate (-r)\n"
" Force InfiniBand static rate. Rate can be one of: 2.5, 5, 10, "
"20,\n"
" 30, 40, 60, 80, 120, 1xSDR (2.5 Gbps), 1xDDR (5 Gbps), 1xQDR (1"
"0\n"
" Gbps), 4xSDR (2.5 Gbps), 4xDDR (5 Gbps), 4xQDR (10 Gbps), 8xSDR"
" (2.5\n"
" Gbps), 8xDDR (5 Gbps), 8xQDR (10 Gbps).\n"
" --loc_rate (-lr)\n"
" Force local InfiniBand static rate\n"
" --rem_rate (-rr)\n"
" Force remote InfiniBand static rate\n"
"--rd_atomic Count (-R)\n"
" Set the number of in-flight operations that can be handled for "
"a RDMA\n"
" read or atomic operation. This is only relevant to the RDMA te"
"sts.\n"
" --loc_rd_atomic Count (-lR)\n"
" Set local read/atomic count.\n"
" --rem_rd_atomic Count (-rR)\n"
" Set remote read/atomic count.\n"
"--sock_buf_size Size (-S)\n"
" Set the socket buffer size. This is only relevant to the socke"
"t\n"
" tests.\n"
" --loc_sock_buf_size Size (-lS)\n"
" Set local socket buffer size.\n"
" --rem_sock_buf_size Size (-rS)\n"
" Set remote socket buffer size.\n"
"--time Time (-t)\n"
" Set test duration to Time. Specified in seconds however a trai"
"ling\n"
" m, h or d indicates that the time is specified in minutes, hour"
"s or\n"
" days respectively.\n"
"--timeout Time (-T)\n"
" Set timeout to Time. This is the timeout used for various thin"
"gs\n"
" such as exchanging messages. The default is 5 seconds.\n"
" --loc_timeout Time (-lT)\n"
" Set local timeout to Time.\n"
" --rem_timeout Time (-rT)\n"
" Set local timeout to Time.\n"
"--unify_nodes (-U)\n"
" Unify the nodes. Describe them in terms of local and remote ra"
"ther\n"
" than send and receive.\n"
"--unify_units (-u)\n"
" Unify the units that results are shown in. Uses the lowest com"
"mon\n"
" denominator. Helpful for scripts.\n"
"--verbose (-v)\n"
" Provide more detailed output. Turns on -vc, -vs, -vt and -vu."
"\n"
" --verbose_conf (-vc)\n"
" Provide information on configuration.\n"
" --verbose_stat (-vs)\n"
" Provide information on statistics.\n"
" --verbose_stat (-vt)\n"
" Provide information on timing.\n"
" --verbose_stat (-vu)\n"
" Provide information on parameters used.\n"
" --verbose_more (-vv)\n"
" Provide even more detailed output. Turns on -vC, -vS, -vT and "
"-vU.\n"
" --verbose_conf (-vC)\n"
" Provide more information on configuration.\n"
" --verbose_stat (-vS)\n"
" Provide more information on statistics.\n"
" --verbose_stat (-vT)\n"
" Provide more information on timing.\n"
" --verbose_stat (-vU)\n"
" Provide more information on parameters used.\n"
"--version (-V)\n"
" The current version of qperf is printed.\n"
"--wait Time (-W)\n"
" If the server is not ready, continue to try connecting for Time"
"\n"
" seconds before giving up.\n",
"tests",
"Miscellaneous\n"
" conf Show configuration\n"
" quit Cause the server to quit\n"
"Socket Based\n"
" tcp_bw TCP streaming one way bandwidth\n"
" tcp_lat TCP one way latency\n"
" udp_bw UDP streaming one way bandwidth\n"
" udp_lat UDP one way latency\n"
" sdp_bw SDP streaming one way bandwidth\n"
" sdp_lat SDP one way latency\n"
" rds_bw RDS streaming one way bandwidth\n"
" rds_lat RDS one way latency\n"
"RDMA Send/Receive\n"
" ud_bw UD streaming one way bandwidth\n"
" ud_bi_bw UD streaming two way bandwidth\n"
" ud_lat UD one way latency\n"
" rc_bw RC streaming one way bandwidth\n"
" rc_bi_bw RC streaming two way bandwidth\n"
" rc_lat RC one way latency\n"
" uc_bw UC streaming one way bandwidth\n"
" uc_bi_bw UC streaming two way bandwidth\n"
" uc_lat UC one way latency\n"
"RDMA\n"
" rc_rdma_read_bw RC RDMA read streaming one way bandwidth"
"\n"
" rc_rdma_read_lat RC RDMA read one way latency\n"
" rc_rdma_write_bw RC RDMA write streaming one way bandwidth"
"\n"
" rc_rdma_write_lat RC RDMA write one way latency\n"
" rc_rdma_write_poll_lat RC RDMA write one way polling latency\n"
" uc_rdma_write_bw UC RDMA write streaming one way bandwidth"
"\n"
" uc_rdma_write_lat UC RDMA write one way latency\n"
" uc_rdma_write_poll_lat UC RDMA write one way polling latency\n"
"InfiniBand Atomics\n"
" rc_compare_swap_mr RC compare and swap messaging rate\n"
" rc_fetch_add_mr RC fetch and add messaging rate\n"
"Verification\n"
" ver_rc_compare_swap verify RC compare and swap\n"
" ver_rc_fetch_add verify RC fetch and add\n",
"conf",
"Purpose\n"
" Show configuration\n"
"Common Options\n"
" None\n"
"Description\n"
" Shows the node name, CPUs and OS of both nodes being used.\n",
"quit",
"Purpose\n"
" Quit\n"
"Common Options\n"
" None\n"
"Description\n"
" Causes the server to quit.\n",
"tcp_bw",
"Purpose\n"
" TCP streaming one way bandwidth\n"
"Common Options\n"
" --affinity PN (-a) set processor affinity\n"
" --msg_size Size (-m) set message size\n"
" --sock_buf_size Size (-S) set socket buffer size\n"
" --time (-t) set test duration\n"
"Other Options\n"
" --listen_port, --port, --timeout\n"
"Display Options\n"
" --precision, --unify_nodes, --unify_units, --verbose\n"
"Description\n"
" The client repeatedly sends messages to the server while the serv"
"er\n"
" notes how many were received.\n",
"tcp_lat",
"Purpose\n"
" TCP one way latency\n"
"Common Options\n"
" --affinity PN (-a) set processor affinity\n"
" --msg_size Size (-m) set message size\n"
" --sock_buf_size Size (-S) set socket buffer size\n"
" --time (-t) set test duration\n"
"Other Options\n"
" --listen_port, --port, --timeout\n"
"Display Options\n"
" --precision, --unify_nodes, --unify_units, --verbose\n"
"Description\n"
" A ping pong latency test where the server and client exchange mes"
"sages\n"
" repeatedly using TCP sockets.\n",
"udp_bw",
"Purpose\n"
" UDP streaming one way bandwidth\n"
"Common Options\n"
" --affinity PN (-a) set processor affinity\n"
" --msg_size Size (-m) set message size\n"
" --sock_buf_size Size (-S) set socket buffer size\n"
" --time (-t) set test duration\n"
"Other Options\n"
" --listen_port, --port, --timeout\n"
"Display Options\n"
" --precision, --unify_nodes, --unify_units, --verbose\n"
"Description\n"
" The client repeatedly sends messages to the server while the serv"
"er\n"
" notes how many were received.\n",
"udp_lat",
"Purpose\n"
" UDP one way latency\n"
"Common Options\n"
" --affinity PN (-a) set processor affinity\n"
" --msg_size Size (-m) set message size\n"
" --sock_buf_size Size (-S) set socket buffer size\n"
" --time (-t) set test duration\n"
"Other Options\n"
" --listen_port, --port, --timeout\n"
"Display Options\n"
" --precision, --unify_nodes, --unify_units, --verbose\n"
"Description\n"
" A ping pong latency test where the server and client exchange mes"
"sages\n"
" repeatedly using UDP sockets.\n",
"sdp_bw",
"Purpose\n"
" SDP streaming one way bandwidth\n"
"Common Options\n"
" --affinity PN (-a) set processor affinity\n"
" --msg_size Size (-m) set message size\n"
" --sock_buf_size Size (-S) set socket buffer size\n"
" --time (-t) set test duration\n"
"Other Options\n"
" --listen_port, --port, --timeout\n"
"Display Options\n"
" --precision, --unify_nodes, --unify_units, --verbose\n"
"Description\n"
" The client repeatedly sends messages to the server while the serv"
"er\n"
" notes how many were received.\n",
"sdp_lat",
"Purpose\n"
" SDP one way latency\n"
"Common Options\n"
" --affinity PN (-a) set processor affinity\n"
" --msg_size Size (-m) set message size\n"
" --sock_buf_size Size (-S) set socket buffer size\n"
" --time (-t) set test duration\n"
"Other Options\n"
" --listen_port, --port, --timeout\n"
"Display Options\n"
" --precision, --unify_nodes, --unify_units, --verbose\n"
"Description\n"
" A ping pong latency test where the server and client exchange mes"
"sages\n"
" repeatedly using SDP sockets.\n",
"rds_bw",
"Purpose\n"
" RDS streaming one way bandwidth\n"
"Common Options\n"
" --affinity PN (-a) set processor affinity\n"
" --msg_size Size (-m) set message size\n"
" --sock_buf_size Size (-S) set socket buffer size\n"
" --time (-t) set test duration\n"
"Other Options\n"
" --listen_port, --port, --timeout\n"
"Display Options\n"
" --precision, --unify_nodes, --unify_units, --verbose\n"
"Description\n"
" The client repeatedly sends messages to the server while the serv"
"er\n"
" notes how many were received.\n",
"rds_lat",
"Purpose\n"
" RDS one way latency\n"
"Common Options\n"
" --affinity PN (-a) set processor affinity\n"
" --msg_size Size (-m) set message size\n"
" --sock_buf_size Size (-S) set socket buffer size\n"
" --time (-t) set test duration\n"
"Other Options\n"
" --listen_port, --port, --timeout\n"
"Display Options\n"
" --precision, --unify_nodes, --unify_units, --verbose\n"
"Description\n"
" A ping pong latency test where the server and client exchange mes"
"sages\n"
" repeatedly using RDS sockets.\n",
"ud_bw",
"Purpose\n"
" UD streaming one way bandwidth\n"
"Common Options\n"
" --access_recv OnOff (-Ar) Access receive data\n"
" --id Device:Port (-i) Set IB device and port\n"
" --msg_size Size (-m) Set message size\n"
" --poll OnOff (-P) Set polling mode on/off\n"
" --time (-t) Set test duration\n"
"Other Options\n"
" --affinity, --listen_port, --mtu_size, --rate, --timeout\n"
"Display Options\n"
" --precision, --unify_nodes, --unify_units, --verbose\n"
"Description\n"
" The client sends messages to the server who notes how many it rec"
"eived.\n"
" The UD Send/Receive mechanism is used.\n",
"ud_bi_bw",
"Purpose\n"
" UD streaming two way bandwidth\n"
"Common Options\n"
" --access_recv OnOff (-Ar) Access receive data\n"
" --id Device:Port (-i) Set IB device and port\n"
" --msg_size Size (-m) Set message size\n"
" --poll OnOff (-P) Set polling mode on/off\n"
" --time (-t) Set test duration\n"
"Other Options\n"
" --affinity, --listen_port, --mtu_size, --rate, --timeout\n"
"Display Options\n"
" --precision, --unify_nodes, --unify_units, --verbose\n"
"Description\n"
" Both the client and server exchange messages with each other usin"
"g the\n"
" UD Send/Receive mechanism and note how many were received.\n",
"ud_lat",
"Purpose\n"
" UD one way latency\n"
"Common Options\n"
" --id Device:Port (-i) Set IB device and port\n"
" --msg_size Size (-m) Set message size\n"
" --poll OnOff (-P) Set polling mode on/off\n"
" --time (-t) Set test duration\n"
"Other Options\n"
" --affinity, --listen_port, --mtu_size, --rate, --timeout\n"
"Display Options\n"
" --precision, --unify_nodes, --unify_units, --verbose\n"
"Description\n"
" A ping pong latency test where the server and client exchange mes"
"sages\n"
" repeatedly using UD Send/Receive.\n",
"rc_bw",
"Purpose\n"
" RC streaming one way bandwidth\n"
"Common Options\n"
" --access_recv OnOff (-Ar) Access receive data\n"
" --id Device:Port (-i) Set IB device and port\n"
" --msg_size Size (-m) Set message size\n"
" --poll OnOff (-P) Set polling mode on/off\n"
" --time (-t) Set test duration\n"
"Other Options\n"
" --affinity, --listen_port, --mtu_size, --rate, --timeout\n"
"Display Options\n"
" --precision, --unify_nodes, --unify_units, --verbose\n"
"Description\n"
" The client sends messages to the server who notes how many it rec"
"eived.\n"
" The RC Send/Receive mechanism is used.\n",
"rc_bi_bw",
"Purpose\n"
" RC streaming two way bandwidth\n"
"Common Options\n"
" --access_recv OnOff (-Ar) Access receive data\n"
" --id Device:Port (-i) Set IB device and port\n"
" --msg_size Size (-m) Set message size\n"
" --poll OnOff (-P) Set polling mode on/off\n"
" --time (-t) Set test duration\n"
"Other Options\n"
" --affinity, --listen_port, --mtu_size, --rate, --timeout\n"
"Display Options\n"
" --precision, --unify_nodes, --unify_units, --verbose\n"
"Description\n"
" Both the client and server exchange messages with each other usin"
"g the\n"
" RC Send/Receive mechanism and note how many were received.\n",
"rc_lat",
"Purpose\n"
" RC one way latency\n"
"Common Options\n"
" --id Device:Port (-i) Set IB device and port\n"
" --msg_size Size (-m) Set message size\n"
" --poll OnOff (-P) Set polling mode on/off\n"
" --time (-t) Set test duration\n"
"Other Options\n"
" --affinity, --listen_port, --mtu_size, --rate, --timeout\n"
"Display Options\n"
" --precision, --unify_nodes, --unify_units, --verbose\n"
"Description\n"
" A ping pong latency test where the server and client exchange mes"
"sages\n"
" repeatedly using RC Send/Receive.\n",
"uc_bw",
"Purpose\n"
" UC streaming one way bandwidth\n"
"Common Options\n"
" --access_recv OnOff (-Ar) Access receive data\n"
" --id Device:Port (-i) Set IB device and port\n"
" --msg_size Size (-m) Set message size\n"
" --poll OnOff (-P) Set polling mode on/off\n"
" --time (-t) Set test duration\n"
"Other Options\n"
" --affinity, --listen_port, --mtu_size, --rate, --timeout\n"
"Display Options\n"
" --precision, --unify_nodes, --unify_units, --verbose\n"
"Description\n"
" The client sends messages to the server who notes how many it rec"
"eived.\n"
" The UC Send/Receive mechanism is used.\n",
"uc_bi_bw",
"Purpose\n"
" UC streaming two way bandwidth\n"
"Common Options\n"
" --access_recv OnOff (-Ar) Access receive data\n"
" --id Device:Port (-i) Set IB device and port\n"
" --msg_size Size (-m) Set message size\n"
" --poll OnOff (-P) Set polling mode on/off\n"
" --time (-t) Set test duration\n"
"Other Options\n"
" --affinity, --listen_port, --mtu_size, --rate, --timeout\n"
"Display Options\n"
" --precision, --unify_nodes, --unify_units, --verbose\n"
"Description\n"
" Both the client and server exchange messages with each other usin"
"g the\n"
" UC Send/Receive mechanism and note how many were received.\n",
"uc_lat",
"Purpose\n"
" UC one way latency\n"
"Common Options\n"
" --id Device:Port (-i) Set IB device and port\n"
" --msg_size Size (-m) Set message size\n"
" --poll OnOff (-P) Set polling mode on/off\n"
" --time (-t) Set test duration\n"
"Other Options\n"
" --affinity, --listen_port, --mtu_size, --rate, --timeout\n"
"Display Options\n"
" --precision, --unify_nodes, --unify_units, --verbose\n"
"Description\n"
" A ping pong latency test where the server and client exchange mes"
"sages\n"
" repeatedly using UC Send/Receive.\n",
"rc_rdma_read_bw",
"Purpose\n"
" RC RDMA read streaming one way bandwidth\n"
"Common Options\n"
" --id Device:Port (-i) Set IB device and port\n"
" --msg_size Size (-m) Set message size\n"
" --poll OnOff (-P) Set polling mode on/off\n"
" --time (-t) Set test duration\n"
"Other Options\n"
" --affinity, --listen_port, --mtu_size, --rate, --rd_atomic, --tim"
"eout\n"
"Display Options\n"
" --precision, --unify_nodes, --unify_units, --verbose\n"
"Description\n"
" The client repeatedly performs RC RDMA Read operations and notes "
"how\n"
" many of them complete.\n",
"rc_rdma_read_lat",
"Purpose\n"
" RC RDMA read one way latency\n"
"Common Options\n"
" --id Device:Port (-i) Set IB device and port\n"
" --msg_size Size (-m) Set message size\n"
" --poll OnOff (-P) Set polling mode on/off\n"
" --time (-t) Set test duration\n"
"Other Options\n"
" --affinity, --listen_port, --mtu_size, --rate, --timeout\n"
"Display Options\n"
" --precision, --unify_nodes, --unify_units, --verbose\n"
"Description\n"
" The client repeatedly performs RC RDMA Read operations waiting fo"
"r\n"
" completion before starting the next one.\n",
"rc_rdma_write_bw",
"Purpose\n"
" RC RDMA write streaming one way bandwidth\n"
"Common Options\n"
" --id Device:Port (-i) Set IB device and port\n"
" --msg_size Size (-m) Set message size\n"
" --poll OnOff (-P) Set polling mode on/off\n"
" --time (-t) Set test duration\n"
"Other Options\n"
" --affinity, --listen_port, --mtu_size, --rate, --timeout\n"
"Display Options\n"
" --precision, --unify_nodes, --unify_units, --verbose\n"
"Description\n"
" The client repeatedly performs RC RDMA Write operations and notes"
" how\n"
" many of them complete.\n",
"rc_rdma_write_lat",
"Purpose\n"
" RC RDMA write one way latency\n"
"Common Options\n"
" --id Device:Port (-i) Set IB device and port\n"
" --msg_size Size (-m) Set message size\n"
" --poll OnOff (-P) Set polling mode on/off\n"
" --time (-t) Set test duration\n"
"Other Options\n"
" --affinity, --listen_port, --mtu_size, --rate, --timeout\n"
"Display Options\n"
" --precision, --unify_nodes, --unify_units, --verbose\n"
"Description\n"
" A ping pong latency test where the server and client exchange mes"
"sages\n"
" using RC RDMA write operations.\n",
"rc_rdma_write_poll_lat",
"Purpose\n"
" RC RDMA write one way polling latency\n"
"Common Options\n"
" --id Device:Port (-i) Set IB device and port\n"
" --msg_size Size (-m) Set message size\n"
" --time (-t) Set test duration\n"
"Other Options\n"
" --affinity, --listen_port, --mtu_size, --rate, --timeout\n"
"Display Options\n"
" --precision, --unify_nodes, --unify_units, --verbose\n"
"Description\n"
" A ping pong latency test using RC RDMA Write operations. First t"
"he\n"
" client performs an RDMA Write while the server stays in a tight l"
"oop\n"
" waiting for the memory buffer to change. The first and last byte"
"s of\n"
" the memory buffer are tested to ensure that the entire message wa"
"s\n"
" received. This is then repeated with both sides playing opposite"
"\n"
" roles. Since this always polls, the -P (--poll) flag has no effe"
"ct.\n",
"uc_rdma_write_bw",
"Purpose\n"
" UC RDMA write streaming one way bandwidth\n"
"Common Options\n"
" --id Device:Port (-i) Set IB device and port\n"
" --msg_size Size (-m) Set message size\n"
" --poll OnOff (-P) Set polling mode on/off\n"
" --time (-t) Set test duration\n"
"Other Options\n"
" --affinity, --listen_port, --mtu_size, --rate, --timeout\n"
"Display Options\n"
" --precision, --unify_nodes, --unify_units, --verbose\n"
"Description\n"
" The client repeatedly performs UC RDMA Write operations and notes"
" how\n"
" many of them complete.\n",
"uc_rdma_write_lat",
"Purpose\n"
" UC RDMA write one way latency\n"
"Common Options\n"
" --id Device:Port (-i) Set IB device and port\n"
" --msg_size Size (-m) Set message size\n"
" --poll OnOff (-P) Set polling mode on/off\n"
" --time (-t) Set test duration\n"
"Other Options\n"
" --affinity, --listen_port, --mtu_size, --rate, --timeout\n"
"Display Options\n"
" --precision, --unify_nodes, --unify_units, --verbose\n"
"Description\n"
" A ping pong latency test where the server and client exchange mes"
"sages\n"
" using UC RDMA write operations.\n",
"uc_rdma_write_poll_lat",
"Purpose\n"
" UC RDMA write one way polling latency\n"
"Common Options\n"
" --id Device:Port (-i) Set IB device and port\n"
" --msg_size Size (-m) Set message size\n"
" --time (-t) Set test duration\n"
"Other Options\n"
" --affinity, --listen_port, --mtu_size, --rate, --timeout\n"
"Display Options\n"
" --precision, --unify_nodes, --unify_units, --verbose\n"
"Description\n"
" A ping pong latency test using UC RDMA Write operations. First t"
"he\n"
" client performs an RDMA Write while the server stays in a tight l"
"oop\n"
" waiting for the memory buffer to change. The first and last byte"
"s of\n"
" the memory buffer are tested to ensure that the entire message wa"
"s\n"
" received. This is then repeated with both sides playing opposite"
"\n"
" roles. Since this always polls, the -P (--poll) flag has no effe"
"ct.\n",
"rc_compare_swap_mr",
"Purpose\n"
" RC compare and swap messaging rate\n"
"Common Options\n"
" --id Device:Port (-i) Set IB device and port\n"
" --poll OnOff (-P) Set polling mode on/off\n"
" --time (-t) Set test duration\n"
"Other Options\n"
" --affinity, --listen_port, --mtu_size, --rate, --rd_atomic, --tim"
"eout\n"
"Display Options\n"
" --precision, --unify_nodes, --unify_units, --verbose\n"
"Description\n"
" The client repeatedly performs the RC Atomic Compare and Swap ope"
"ration\n"
" and determines how many of them complete.\n",
"rc_fetch_add_mr",
"Purpose\n"
" RC fetch and add messaging rate\n"
"Common Options\n"
" --id Device:Port (-i) Set IB device and port\n"
" --poll OnOff (-P) Set polling mode on/off\n"
" --time (-t) Set test duration\n"
"Other Options\n"
" --affinity, --listen_port, --mtu_size, --rate, --rd_atomic, --tim"
"eout\n"
"Display Options\n"
" --precision, --unify_nodes, --unify_units, --verbose\n"
"Description\n"
" The client repeatedly performs the RC Atomic Fetch and Add operat"
"ion\n"
" and determines how many of them complete.\n",
"ver_rc_compare_swap",
"Purpose\n"
" Verify RC compare and swap\n"
"Common Options\n"
" --id Device:Port (-i) Set IB device and port\n"
" --poll OnOff (-P) Set polling mode on/off\n"
" --time (-t) Set test duration\n"
"Other Options\n"
" --affinity, --listen_port, --mtu_size, --rate, --rd_atomic, --tim"
"eout\n"
"Display Options\n"
" --precision, --unify_nodes, --unify_units, --verbose\n"
"Description\n"
" Test the RC Compare and Swap Atomic operation. The server's memo"
"ry\n"
" location starts with zero and the client successively exchanges, "
"0 for\n"
" 1, 1 for 2, etc. The results are checked for correctness.\n",
"ver_rc_fetch_add",
"Purpose\n"
" Verify RC fetch and add\n"
"Common Options\n"
" --affinity PN (-a) Set processor affinity\n"
" --id Device:Port (-i) Set IB device and port\n"
" --poll OnOff (-P) Set polling mode on/off\n"
" --time (-t) Set test duration\n"
"Other Options\n"
" --affinity, --listen_port, --mtu_size, --rate, --rd_atomic, --tim"
"eout\n"
"Display Options\n"
" --precision, --unify_nodes, --unify_units, --verbose\n"
"Description\n"
" Tests the RC Fetch and Add Atomic operation. The server's memory"
"\n"
" location starts with zero and the client successively adds one. "
"The\n"
" results are checked for correctness.\n",
0,
};

View File

View File

View File

View File

@ -91,7 +91,7 @@ sub do_examples ($$) {
printn '.TP';
printn $1;
s/^\s+//m;
printn $_;
print $_;
}
}

View File

@ -1,6 +1,6 @@
/*
* qperf - main.
* Run performance tests over TCP/IP and RDMA.
* Measure IP and RDMA performance.
*
* Copyright (c) 2002-2007 Johann George. All rights reserved.
* Copyright (c) 2006-2007 QLogic Corporation. All rights reserved.