Allowed tests to utilize more options.
parent
a512e78416
commit
317ca959ec
202
src/help.txt
202
src/help.txt
|
@ -18,8 +18,7 @@ Author
|
|||
Written by Johann George.
|
||||
Bugs
|
||||
None of the RDMA tests are available if qperf is compiled without the RDMA
|
||||
libraries. The -f and the -Ar options are not yet implemented in most of
|
||||
the tests.
|
||||
libraries. The -f option is not yet implemented in many of the tests.
|
||||
Examples
|
||||
In these examples, we first run qperf on a node called myserver in server
|
||||
mode by invoking it with no arguments. In all the subsequent examples, we
|
||||
|
@ -36,11 +35,11 @@ Examples
|
|||
* To measure RDMA UC bi-directional bandwidth:
|
||||
qperf myserver rc_bi_bw
|
||||
Opts
|
||||
--access_recv Mode (-Ar) Access receive data
|
||||
--access_recv OnOff (-Ar) Access received data
|
||||
--affinity PN (-a) Set processor affinity
|
||||
--loc_affinity PN (-la) Set local processor affinity
|
||||
--rem_affinity PN (-ra) Set remote processor affinity
|
||||
--flip Mode (-f) Flip sender and receiver
|
||||
--flip OnOff (-f) Flip sender and receiver
|
||||
--help Topic (-h) Get more information on a topic
|
||||
--host Node (-H) Identify server node
|
||||
--id Device:Port (-i) Set IB device and port
|
||||
|
@ -50,9 +49,9 @@ Opts
|
|||
--msg_size Size (-m) Set message size
|
||||
--mtu_size Size (-M) Set MTU size (IB only)
|
||||
--no_msgs Count (-n) Send Count messages
|
||||
--poll Mode (-P) Set polling mode on/off
|
||||
--loc_poll Mode (-lP) Set local polling mode on/off
|
||||
--rem_poll Mode (-lP) Set remote polling mode on/off
|
||||
--poll OnOff (-P) Set polling mode on/off
|
||||
--loc_poll OnOff (-lP) Set local polling mode on/off
|
||||
--rem_poll OnOff (-lP) Set remote polling mode on/off
|
||||
--port Port (-p) Set TCP port used for tests
|
||||
--precision Digits (-e) Set precision reported
|
||||
--rate (-r) Set IB static rate
|
||||
|
@ -68,8 +67,9 @@ Opts
|
|||
--timeout Time (-T) Set timeout
|
||||
--loc_timeout Time (-lT) Set local timeout
|
||||
--rem_timeout Time (-rT) Set remote timeout
|
||||
--unify_nodes (-U) Unify nodes
|
||||
--unify_units (-u) Unify units
|
||||
--unify_nodes (-un) Unify nodes
|
||||
--unify_units (-uu) Unify units
|
||||
--use_bits_per_sec (-ub) Use bits/sec rather than bytes/sec
|
||||
--verbose (-v) Verbose; turn on all of -v[cstu]
|
||||
--verbose_conf (-vc) Show configuration information
|
||||
--verbose_stat (-vs) Show statistical information
|
||||
|
@ -83,9 +83,10 @@ Opts
|
|||
--version (-V) Print out version
|
||||
--wait Time (-W) Set time to wait for server
|
||||
Options
|
||||
--access_recv Mode (-Ar)
|
||||
If Mode is non-zero, data is accessed once received. Otherwise, data
|
||||
is ignored. By default, Mode is 0.
|
||||
--access_recv OnOff (-Ar)
|
||||
If OnOff is non-zero, data is accessed once received. Otherwise,
|
||||
data is ignored. By default, OnOff is 0. This helps to mimic some
|
||||
applications.
|
||||
--affinity PN (-a)
|
||||
Set processor affinity to PN. Processors are numbered sequentially
|
||||
from 0. If PN is "any", any processor is allowed otherwise the
|
||||
|
@ -94,7 +95,7 @@ Options
|
|||
Set local processor affinity to PN.
|
||||
--rem_affinity PN (-ra)
|
||||
Set remote processor affinity to PN.
|
||||
--flip Mode (-f)
|
||||
--flip OnOff (-f)
|
||||
Cause sender and receiver to play opposite roles.
|
||||
--help Topic (-h)
|
||||
Print out information about Topic. To see the list of topics, type
|
||||
|
@ -103,11 +104,11 @@ Options
|
|||
Run test between the current node and the qperf running on node Host.
|
||||
This can also be specified as the first non-option argument.
|
||||
--id Device:Port (-i)
|
||||
Use InfiniBand Device and Port.
|
||||
Use RDMA Device and Port.
|
||||
--loc_id Device:Port (-li)
|
||||
Use local InfiniBand Device and Port.
|
||||
Use local RDMA Device and Port.
|
||||
--rem_id Device:Port (-ri)
|
||||
Use remote InfiniBand Device and Port.
|
||||
Use remote RDMA Device and Port.
|
||||
--listen_port Port (-lp)
|
||||
Set the port we listen on to ListenPort. This must be set to the
|
||||
same port on both the server and client machines. The default value
|
||||
|
@ -124,13 +125,13 @@ Options
|
|||
specified in the same manner as the --msg_size option.
|
||||
--no_msgs N (-n)
|
||||
Set test duration by number of messages sent instead of time.
|
||||
--poll Mode (-P)
|
||||
--poll OnOff (-P)
|
||||
Turn polling mode on or off. This is only relevant to the RDMA tests
|
||||
and determines whether they poll or wait. If Mode is 0, they wait;
|
||||
and determines whether they poll or wait. If OnOff is 0, they wait;
|
||||
otherwise they poll.
|
||||
--loc_poll Mode (-lP)
|
||||
--loc_poll OnOff (-lP)
|
||||
Locally turn polling mode on or off.
|
||||
--rem_poll Mode (-rP)
|
||||
--rem_poll OnOff (-rP)
|
||||
Remotely turn polling mode on or off.
|
||||
--port Port (-p)
|
||||
Use Port to run the socket tests. This is different from
|
||||
|
@ -173,12 +174,14 @@ Options
|
|||
Set local timeout to Time.
|
||||
--rem_timeout Time (-rT)
|
||||
Set local timeout to Time.
|
||||
--unify_nodes (-U)
|
||||
--unify_nodes (-un)
|
||||
Unify the nodes. Describe them in terms of local and remote rather
|
||||
than send and receive.
|
||||
--unify_units (-u)
|
||||
--unify_units (-uu)
|
||||
Unify the units that results are shown in. Uses the lowest common
|
||||
denominator. Helpful for scripts.
|
||||
--use_bits_per_sec (-ub)
|
||||
Use bits/sec rather than bytes/sec when displaying networking speed.
|
||||
--verbose (-v)
|
||||
Provide more detailed output. Turns on -vc, -vs, -vt and -vu.
|
||||
--verbose_conf (-vc)
|
||||
|
@ -257,8 +260,8 @@ Tests +RDMA
|
|||
rc_compare_swap_mr RC compare and swap messaging rate
|
||||
rc_fetch_add_mr RC fetch and add messaging rate
|
||||
Verification
|
||||
ver_rc_compare_swap verify RC compare and swap
|
||||
ver_rc_fetch_add verify RC fetch and add
|
||||
ver_rc_compare_swap Verify RC compare and swap
|
||||
ver_rc_fetch_add Verify RC fetch and add
|
||||
conf
|
||||
Purpose
|
||||
Show configuration
|
||||
|
@ -277,14 +280,16 @@ rds_bw
|
|||
Purpose
|
||||
RDS streaming one way bandwidth
|
||||
Common Options
|
||||
--affinity PN (-a) set processor affinity
|
||||
--msg_size Size (-m) set message size
|
||||
--sock_buf_size Size (-S) set socket buffer size
|
||||
--time (-t) set test duration
|
||||
--access_recv OnOff (-Ar) Access received data
|
||||
--affinity PN (-a) Set processor affinity
|
||||
--msg_size Size (-m) Set message size
|
||||
--sock_buf_size Size (-S) Set socket buffer size
|
||||
--time (-t) Set test duration
|
||||
Other Options
|
||||
--listen_port, --port, --timeout
|
||||
Display Options
|
||||
--precision, --unify_nodes, --unify_units, --verbose
|
||||
--precision, --unify_nodes, --unify_units, --use_bits_per_sec,
|
||||
--verbose
|
||||
Description
|
||||
The client repeatedly sends messages to the server while the server
|
||||
notes how many were received.
|
||||
|
@ -292,10 +297,10 @@ rds_lat
|
|||
Purpose
|
||||
RDS one way latency
|
||||
Common Options
|
||||
--affinity PN (-a) set processor affinity
|
||||
--msg_size Size (-m) set message size
|
||||
--sock_buf_size Size (-S) set socket buffer size
|
||||
--time (-t) set test duration
|
||||
--affinity PN (-a) Set processor affinity
|
||||
--msg_size Size (-m) Set message size
|
||||
--sock_buf_size Size (-S) Set socket buffer size
|
||||
--time (-t) Set test duration
|
||||
Other Options
|
||||
--listen_port, --port, --timeout
|
||||
Display Options
|
||||
|
@ -307,14 +312,16 @@ sctp_bw
|
|||
Purpose
|
||||
SCTP streaming one way bandwidth
|
||||
Common Options
|
||||
--affinity PN (-a) set processor affinity
|
||||
--msg_size Size (-m) set message size
|
||||
--sock_buf_size Size (-S) set socket buffer size
|
||||
--time (-t) set test duration
|
||||
--access_recv OnOff (-Ar) Access received data
|
||||
--affinity PN (-a) Set processor affinity
|
||||
--msg_size Size (-m) Set message size
|
||||
--sock_buf_size Size (-S) Set socket buffer size
|
||||
--time (-t) Set test duration
|
||||
Other Options
|
||||
--listen_port, --port, --timeout
|
||||
Display Options
|
||||
--precision, --unify_nodes, --unify_units, --verbose
|
||||
--precision, --unify_nodes, --unify_units, --use_bits_per_sec,
|
||||
--verbose
|
||||
Description
|
||||
The client repeatedly sends messages to the server while the server
|
||||
notes how many were received.
|
||||
|
@ -322,10 +329,10 @@ sctp_lat
|
|||
Purpose
|
||||
SCTP one way latency
|
||||
Common Options
|
||||
--affinity PN (-a) set processor affinity
|
||||
--msg_size Size (-m) set message size
|
||||
--sock_buf_size Size (-S) set socket buffer size
|
||||
--time (-t) set test duration
|
||||
--affinity PN (-a) Set processor affinity
|
||||
--msg_size Size (-m) Set message size
|
||||
--sock_buf_size Size (-S) Set socket buffer size
|
||||
--time (-t) Set test duration
|
||||
Other Options
|
||||
--listen_port, --port, --timeout
|
||||
Display Options
|
||||
|
@ -337,14 +344,16 @@ sdp_bw
|
|||
Purpose
|
||||
SDP streaming one way bandwidth
|
||||
Common Options
|
||||
--affinity PN (-a) set processor affinity
|
||||
--msg_size Size (-m) set message size
|
||||
--sock_buf_size Size (-S) set socket buffer size
|
||||
--time (-t) set test duration
|
||||
--access_recv OnOff (-Ar) Access received data
|
||||
--affinity PN (-a) Set processor affinity
|
||||
--msg_size Size (-m) Set message size
|
||||
--sock_buf_size Size (-S) Set socket buffer size
|
||||
--time (-t) Set test duration
|
||||
Other Options
|
||||
--listen_port, --port, --timeout
|
||||
Display Options
|
||||
--precision, --unify_nodes, --unify_units, --verbose
|
||||
--precision, --unify_nodes, --unify_units, --use_bits_per_sec,
|
||||
--verbose
|
||||
Description
|
||||
The client repeatedly sends messages to the server while the server
|
||||
notes how many were received.
|
||||
|
@ -352,10 +361,10 @@ sdp_lat
|
|||
Purpose
|
||||
SDP one way latency
|
||||
Common Options
|
||||
--affinity PN (-a) set processor affinity
|
||||
--msg_size Size (-m) set message size
|
||||
--sock_buf_size Size (-S) set socket buffer size
|
||||
--time (-t) set test duration
|
||||
--affinity PN (-a) Set processor affinity
|
||||
--msg_size Size (-m) Set message size
|
||||
--sock_buf_size Size (-S) Set socket buffer size
|
||||
--time (-t) Set test duration
|
||||
Other Options
|
||||
--listen_port, --port, --timeout
|
||||
Display Options
|
||||
|
@ -367,14 +376,16 @@ tcp_bw
|
|||
Purpose
|
||||
TCP streaming one way bandwidth
|
||||
Common Options
|
||||
--affinity PN (-a) set processor affinity
|
||||
--msg_size Size (-m) set message size
|
||||
--sock_buf_size Size (-S) set socket buffer size
|
||||
--time (-t) set test duration
|
||||
--access_recv OnOff (-Ar) Access received data
|
||||
--affinity PN (-a) Set processor affinity
|
||||
--msg_size Size (-m) Set message size
|
||||
--sock_buf_size Size (-S) Set socket buffer size
|
||||
--time (-t) Set test duration
|
||||
Other Options
|
||||
--listen_port, --port, --timeout
|
||||
Display Options
|
||||
--precision, --unify_nodes, --unify_units, --verbose
|
||||
--precision, --unify_nodes, --unify_units, --use_bits_per_sec,
|
||||
--verbose
|
||||
Description
|
||||
The client repeatedly sends messages to the server while the server
|
||||
notes how many were received.
|
||||
|
@ -382,10 +393,10 @@ tcp_lat
|
|||
Purpose
|
||||
TCP one way latency
|
||||
Common Options
|
||||
--affinity PN (-a) set processor affinity
|
||||
--msg_size Size (-m) set message size
|
||||
--sock_buf_size Size (-S) set socket buffer size
|
||||
--time (-t) set test duration
|
||||
--affinity PN (-a) Set processor affinity
|
||||
--msg_size Size (-m) Set message size
|
||||
--sock_buf_size Size (-S) Set socket buffer size
|
||||
--time (-t) Set test duration
|
||||
Other Options
|
||||
--listen_port, --port, --timeout
|
||||
Display Options
|
||||
|
@ -397,14 +408,16 @@ udp_bw
|
|||
Purpose
|
||||
UDP streaming one way bandwidth
|
||||
Common Options
|
||||
--affinity PN (-a) set processor affinity
|
||||
--msg_size Size (-m) set message size
|
||||
--sock_buf_size Size (-S) set socket buffer size
|
||||
--time (-t) set test duration
|
||||
--access_recv OnOff (-Ar) Access received data
|
||||
--affinity PN (-a) Set processor affinity
|
||||
--msg_size Size (-m) Set message size
|
||||
--sock_buf_size Size (-S) Set socket buffer size
|
||||
--time (-t) Set test duration
|
||||
Other Options
|
||||
--listen_port, --port, --timeout
|
||||
Display Options
|
||||
--precision, --unify_nodes, --unify_units, --verbose
|
||||
--precision, --unify_nodes, --unify_units, --use_bits_per_sec,
|
||||
--verbose
|
||||
Description
|
||||
The client repeatedly sends messages to the server while the server
|
||||
notes how many were received.
|
||||
|
@ -412,10 +425,10 @@ udp_lat
|
|||
Purpose
|
||||
UDP one way latency
|
||||
Common Options
|
||||
--affinity PN (-a) set processor affinity
|
||||
--msg_size Size (-m) set message size
|
||||
--sock_buf_size Size (-S) set socket buffer size
|
||||
--time (-t) set test duration
|
||||
--affinity PN (-a) Set processor affinity
|
||||
--msg_size Size (-m) Set message size
|
||||
--sock_buf_size Size (-S) Set socket buffer size
|
||||
--time (-t) Set test duration
|
||||
Other Options
|
||||
--listen_port, --port, --timeout
|
||||
Display Options
|
||||
|
@ -427,7 +440,7 @@ ud_bw +RDMA
|
|||
Purpose
|
||||
UD streaming one way bandwidth
|
||||
Common Options
|
||||
--access_recv OnOff (-Ar) Access receive data
|
||||
--access_recv OnOff (-Ar) Access received data
|
||||
--id Device:Port (-i) Set IB device and port
|
||||
--msg_size Size (-m) Set message size
|
||||
--poll OnOff (-P) Set polling mode on/off
|
||||
|
@ -435,7 +448,8 @@ ud_bw +RDMA
|
|||
Other Options
|
||||
--affinity, --listen_port, --mtu_size, --rate, --timeout
|
||||
Display Options
|
||||
--precision, --unify_nodes, --unify_units, --verbose
|
||||
--precision, --unify_nodes, --unify_units, --use_bits_per_sec,
|
||||
--verbose
|
||||
Description
|
||||
The client sends messages to the server who notes how many it received.
|
||||
The UD Send/Receive mechanism is used.
|
||||
|
@ -443,7 +457,7 @@ ud_bi_bw +RDMA
|
|||
Purpose
|
||||
UD streaming two way bandwidth
|
||||
Common Options
|
||||
--access_recv OnOff (-Ar) Access receive data
|
||||
--access_recv OnOff (-Ar) Access received data
|
||||
--id Device:Port (-i) Set IB device and port
|
||||
--msg_size Size (-m) Set message size
|
||||
--poll OnOff (-P) Set polling mode on/off
|
||||
|
@ -451,7 +465,8 @@ ud_bi_bw +RDMA
|
|||
Other Options
|
||||
--affinity, --listen_port, --mtu_size, --rate, --timeout
|
||||
Display Options
|
||||
--precision, --unify_nodes, --unify_units, --verbose
|
||||
--precision, --unify_nodes, --unify_units, --use_bits_per_sec,
|
||||
--verbose
|
||||
Description
|
||||
Both the client and server exchange messages with each other using the
|
||||
UD Send/Receive mechanism and note how many were received.
|
||||
|
@ -474,7 +489,7 @@ rc_bw +RDMA
|
|||
Purpose
|
||||
RC streaming one way bandwidth
|
||||
Common Options
|
||||
--access_recv OnOff (-Ar) Access receive data
|
||||
--access_recv OnOff (-Ar) Access received data
|
||||
--id Device:Port (-i) Set IB device and port
|
||||
--msg_size Size (-m) Set message size
|
||||
--poll OnOff (-P) Set polling mode on/off
|
||||
|
@ -482,7 +497,8 @@ rc_bw +RDMA
|
|||
Other Options
|
||||
--affinity, --listen_port, --mtu_size, --rate, --timeout
|
||||
Display Options
|
||||
--precision, --unify_nodes, --unify_units, --verbose
|
||||
--precision, --unify_nodes, --unify_units, --use_bits_per_sec,
|
||||
--verbose
|
||||
Description
|
||||
The client sends messages to the server who notes how many it received.
|
||||
The RC Send/Receive mechanism is used.
|
||||
|
@ -490,7 +506,7 @@ rc_bi_bw +RDMA
|
|||
Purpose
|
||||
RC streaming two way bandwidth
|
||||
Common Options
|
||||
--access_recv OnOff (-Ar) Access receive data
|
||||
--access_recv OnOff (-Ar) Access received data
|
||||
--id Device:Port (-i) Set IB device and port
|
||||
--msg_size Size (-m) Set message size
|
||||
--poll OnOff (-P) Set polling mode on/off
|
||||
|
@ -498,7 +514,8 @@ rc_bi_bw +RDMA
|
|||
Other Options
|
||||
--affinity, --listen_port, --mtu_size, --rate, --timeout
|
||||
Display Options
|
||||
--precision, --unify_nodes, --unify_units, --verbose
|
||||
--precision, --unify_nodes, --unify_units, --use_bits_per_sec,
|
||||
--verbose
|
||||
Description
|
||||
Both the client and server exchange messages with each other using the
|
||||
RC Send/Receive mechanism and note how many were received.
|
||||
|
@ -521,7 +538,7 @@ uc_bw +RDMA
|
|||
Purpose
|
||||
UC streaming one way bandwidth
|
||||
Common Options
|
||||
--access_recv OnOff (-Ar) Access receive data
|
||||
--access_recv OnOff (-Ar) Access received data
|
||||
--id Device:Port (-i) Set IB device and port
|
||||
--msg_size Size (-m) Set message size
|
||||
--poll OnOff (-P) Set polling mode on/off
|
||||
|
@ -529,7 +546,8 @@ uc_bw +RDMA
|
|||
Other Options
|
||||
--affinity, --listen_port, --mtu_size, --rate, --timeout
|
||||
Display Options
|
||||
--precision, --unify_nodes, --unify_units, --verbose
|
||||
--precision, --unify_nodes, --unify_units, --use_bits_per_sec,
|
||||
--verbose
|
||||
Description
|
||||
The client sends messages to the server who notes how many it received.
|
||||
The UC Send/Receive mechanism is used.
|
||||
|
@ -537,7 +555,7 @@ uc_bi_bw +RDMA
|
|||
Purpose
|
||||
UC streaming two way bandwidth
|
||||
Common Options
|
||||
--access_recv OnOff (-Ar) Access receive data
|
||||
--access_recv OnOff (-Ar) Access received data
|
||||
--id Device:Port (-i) Set IB device and port
|
||||
--msg_size Size (-m) Set message size
|
||||
--poll OnOff (-P) Set polling mode on/off
|
||||
|
@ -545,7 +563,8 @@ uc_bi_bw +RDMA
|
|||
Other Options
|
||||
--affinity, --listen_port, --mtu_size, --rate, --timeout
|
||||
Display Options
|
||||
--precision, --unify_nodes, --unify_units, --verbose
|
||||
--precision, --unify_nodes, --unify_units, --use_bits_per_sec,
|
||||
--verbose
|
||||
Description
|
||||
Both the client and server exchange messages with each other using the
|
||||
UC Send/Receive mechanism and note how many were received.
|
||||
|
@ -568,14 +587,16 @@ rc_rdma_read_bw +RDMA
|
|||
Purpose
|
||||
RC RDMA read streaming one way bandwidth
|
||||
Common Options
|
||||
--id Device:Port (-i) Set IB device and port
|
||||
--msg_size Size (-m) Set message size
|
||||
--poll OnOff (-P) Set polling mode on/off
|
||||
--time (-t) Set test duration
|
||||
--access_recv OnOff (-Ar) Access received data
|
||||
--id Device:Port (-i) Set IB device and port
|
||||
--msg_size Size (-m) Set message size
|
||||
--poll OnOff (-P) Set polling mode on/off
|
||||
--time (-t) Set test duration
|
||||
Other Options
|
||||
--affinity, --listen_port, --mtu_size, --rate, --rd_atomic, --timeout
|
||||
Display Options
|
||||
--precision, --unify_nodes, --unify_units, --verbose
|
||||
--precision, --unify_nodes, --unify_units, --use_bits_per_sec,
|
||||
--verbose
|
||||
Description
|
||||
The client repeatedly performs RC RDMA Read operations and notes how
|
||||
many of them complete.
|
||||
|
@ -605,7 +626,8 @@ rc_rdma_write_bw +RDMA
|
|||
Other Options
|
||||
--affinity, --listen_port, --mtu_size, --rate, --timeout
|
||||
Display Options
|
||||
--precision, --unify_nodes, --unify_units, --verbose
|
||||
--precision, --unify_nodes, --unify_units, --use_bits_per_sec,
|
||||
--verbose
|
||||
Description
|
||||
The client repeatedly performs RC RDMA Write operations and notes how
|
||||
many of them complete.
|
||||
|
@ -653,7 +675,8 @@ uc_rdma_write_bw +RDMA
|
|||
Other Options
|
||||
--affinity, --listen_port, --mtu_size, --rate, --timeout
|
||||
Display Options
|
||||
--precision, --unify_nodes, --unify_units, --verbose
|
||||
--precision, --unify_nodes, --unify_units, --use_bits_per_sec,
|
||||
--verbose
|
||||
Description
|
||||
The client repeatedly performs UC RDMA Write operations and notes how
|
||||
many of them complete.
|
||||
|
@ -744,7 +767,8 @@ ver_rc_fetch_add +RDMA
|
|||
Other Options
|
||||
--affinity, --listen_port, --mtu_size, --rate, --rd_atomic, --timeout
|
||||
Display Options
|
||||
--precision, --unify_nodes, --unify_units, --verbose
|
||||
--precision, --unify_nodes, --unify_units, --use_bits_per_sec,
|
||||
--verbose
|
||||
Description
|
||||
Tests the RC Fetch and Add Atomic operation. The server's memory
|
||||
location starts with zero and the client successively adds one. The
|
||||
|
|
59
src/qperf.c
59
src/qperf.c
|
@ -224,6 +224,7 @@ static void view_time(int type, char *pref, char *name, double value);
|
|||
static int ListenPort = 19765;
|
||||
static int Precision = 3;
|
||||
static int ServerTimeout = 5;
|
||||
static int UseBitsPerSec = 0;
|
||||
|
||||
|
||||
/*
|
||||
|
@ -390,10 +391,13 @@ OPTION Options[] ={
|
|||
{ "-rT", 0, &opt_time, R_TIMEOUT },
|
||||
{ "--server_timeout", 0, &opt_misc, 's', 't' },
|
||||
{ "-st", 0, &opt_misc, 's', 't' },
|
||||
{ "--unify_nodes", 0, &opt_misc, 'U' },
|
||||
{ "-U", 0, &opt_misc, 'U' },
|
||||
{ "--unify_units", 0, &opt_misc, 'u' },
|
||||
{ "-u", 0, &opt_misc, 'u' },
|
||||
{ "--unify_nodes", 0, &opt_misc, 'u', 'n' },
|
||||
{ "-un", 0, &opt_misc, 'u', 'n' },
|
||||
{ "--unify_units", 0, &opt_misc, 'u', 'u' },
|
||||
{ "-uu", 0, &opt_misc, 'u', 'u' },
|
||||
{ "-u", 0, &opt_misc, 'u', 'u' /* obsolete */ },
|
||||
{ "--use_bits_per_sec", 0, &opt_misc, 'u', 'b' },
|
||||
{ "-ub", 0, &opt_misc, 'u', 'b' },
|
||||
{ "--verbose", 0, &opt_misc, 'v' },
|
||||
{ "-v", 0, &opt_misc, 'v' },
|
||||
{ "--verbose_conf", 0, &opt_misc, 'v', 'c' },
|
||||
|
@ -700,9 +704,6 @@ opt_misc(OPTION *option, char ***argvp)
|
|||
case 'e':
|
||||
Precision = arg_long(argvp);
|
||||
return;
|
||||
case 'u':
|
||||
UnifyUnits = 1;
|
||||
break;
|
||||
case 'v':
|
||||
VerboseConf = 1;
|
||||
VerboseStat = 1;
|
||||
|
@ -715,9 +716,6 @@ opt_misc(OPTION *option, char ***argvp)
|
|||
case 'H':
|
||||
ServerName = arg_strn(argvp);
|
||||
return;
|
||||
case 'U':
|
||||
UnifyNodes = 1;
|
||||
break;
|
||||
case 'W':
|
||||
Wait = arg_time(argvp);
|
||||
return;
|
||||
|
@ -727,6 +725,15 @@ opt_misc(OPTION *option, char ***argvp)
|
|||
case ('s') with ('t'):
|
||||
ServerTimeout = arg_time(argvp);
|
||||
return;
|
||||
case ('u') with ('b'):
|
||||
UseBitsPerSec = 1;
|
||||
break;
|
||||
case ('u') with ('n'):
|
||||
UnifyNodes = 1;
|
||||
break;
|
||||
case ('u') with ('u'):
|
||||
UnifyUnits = 1;
|
||||
break;
|
||||
case ('v') with ('c'):
|
||||
VerboseConf = 1;
|
||||
break;
|
||||
|
@ -2008,7 +2015,7 @@ static void
|
|||
view_cost(int type, char *pref, char *name, double value)
|
||||
{
|
||||
int n = 0;
|
||||
static char *tab[] ={ "ns/GB", "us/GB", "ms/GB", "sec/GB" };
|
||||
char *tab[] ={ "ns/GB", "us/GB", "ms/GB", "sec/GB" };
|
||||
|
||||
value *= 1E9;
|
||||
if (!verbose(type, value))
|
||||
|
@ -2043,7 +2050,7 @@ static void
|
|||
view_rate(int type, char *pref, char *name, double value)
|
||||
{
|
||||
int n = 0;
|
||||
static char *tab[] ={ "/sec", "K/sec", "M/sec", "G/sec", "T/sec" };
|
||||
char *tab[] ={ "/sec", "K/sec", "M/sec", "G/sec", "T/sec" };
|
||||
|
||||
if (!verbose(type, value))
|
||||
return;
|
||||
|
@ -2065,7 +2072,7 @@ view_long(int type, char *pref, char *name, long long value)
|
|||
{
|
||||
int n = 0;
|
||||
double val = value;
|
||||
static char *tab[] ={ "", "thousand", "million", "billion", "trillion" };
|
||||
char *tab[] ={ "", "thousand", "million", "billion", "trillion" };
|
||||
|
||||
if (!verbose(type, val))
|
||||
return;
|
||||
|
@ -2085,15 +2092,25 @@ view_long(int type, char *pref, char *name, long long value)
|
|||
static void
|
||||
view_band(int type, char *pref, char *name, double value)
|
||||
{
|
||||
int n = 0;
|
||||
static char *tab[] ={
|
||||
"bytes/sec", "KB/sec", "MB/sec", "GB/sec", "TB/sec"
|
||||
};
|
||||
int n, s;
|
||||
char **tab;
|
||||
|
||||
if (!verbose(type, value))
|
||||
return;
|
||||
if (UseBitsPerSec) {
|
||||
char *t[] ={ "bits/sec", "Kb/sec", "Mb/sec", "Gb/sec", "Tb/sec" };
|
||||
s = cardof(t);
|
||||
tab = t;
|
||||
value *= 8;
|
||||
} else {
|
||||
char *t[] ={ "bytes/sec", "KB/sec", "MB/sec", "GB/sec", "TB/sec" };
|
||||
s = cardof(t);
|
||||
tab = t;
|
||||
}
|
||||
|
||||
n = 0;
|
||||
if (!UnifyUnits) {
|
||||
while (value >= 1000 && n < (int)cardof(tab)-1) {
|
||||
while (value >= 1000 && n < s-1) {
|
||||
value /= 1000;
|
||||
++n;
|
||||
}
|
||||
|
@ -2110,7 +2127,7 @@ view_size(int type, char *pref, char *name, long long value)
|
|||
{
|
||||
int n = 0;
|
||||
double val = value;
|
||||
static char *tab[] ={ "bytes", "KB", "MB", "GB", "TB" };
|
||||
char *tab[] ={ "bytes", "KB", "MB", "GB", "TB" };
|
||||
|
||||
if (!verbose(type, val))
|
||||
return;
|
||||
|
@ -2136,7 +2153,7 @@ nice_1024(char *pref, char *name, long long value)
|
|||
char *altn;
|
||||
int n = 0;
|
||||
long long val = value;
|
||||
static char *tab[] ={ "KiB", "MiB", "GiB", "TiB" };
|
||||
char *tab[] ={ "KiB", "MiB", "GiB", "TiB" };
|
||||
|
||||
if (val < 1024 || val % 1024)
|
||||
return 0;
|
||||
|
@ -2173,7 +2190,7 @@ static void
|
|||
view_time(int type, char *pref, char *name, double value)
|
||||
{
|
||||
int n = 0;
|
||||
static char *tab[] ={ "ns", "us", "ms", "sec" };
|
||||
char *tab[] ={ "ns", "us", "ms", "sec" };
|
||||
|
||||
value *= 1E9;
|
||||
if (!verbose(type, value))
|
||||
|
|
|
@ -372,6 +372,8 @@ run_server_rc_lat(void)
|
|||
void
|
||||
run_client_rc_rdma_read_bw(void)
|
||||
{
|
||||
par_use(L_ACCESS_RECV);
|
||||
par_use(R_ACCESS_RECV);
|
||||
par_use(L_RD_ATOMIC);
|
||||
par_use(R_RD_ATOMIC);
|
||||
ib_params_msgs(K64, 1);
|
||||
|
@ -1219,6 +1221,8 @@ ib_client_rdma_bw(int transport, OPCODE opcode)
|
|||
LStat.r.no_msgs++;
|
||||
LStat.rem_s.no_bytes += Req.msg_size;
|
||||
LStat.rem_s.no_msgs++;
|
||||
if (Req.access_recv)
|
||||
touch_data(ibdev.buffer, Req.msg_size);
|
||||
}
|
||||
} else
|
||||
do_error(status, &LStat.s.no_errs);
|
||||
|
|
|
@ -87,6 +87,8 @@ run_client_rds_bw(void)
|
|||
char *buf;
|
||||
int sockfd;
|
||||
|
||||
par_use(L_ACCESS_RECV);
|
||||
par_use(R_ACCESS_RECV);
|
||||
set_parameters(8*1024);
|
||||
client_send_request();
|
||||
sockfd = init();
|
||||
|
@ -133,6 +135,8 @@ run_server_rds_bw(void)
|
|||
}
|
||||
LStat.r.no_bytes += n;
|
||||
LStat.r.no_msgs++;
|
||||
if (Req.access_recv)
|
||||
touch_data(buf, Req.msg_size);
|
||||
}
|
||||
stop_test_timer();
|
||||
exchange_results();
|
||||
|
|
72
src/socket.c
72
src/socket.c
|
@ -92,6 +92,8 @@ static void stream_server_lat(KIND kind);
|
|||
void
|
||||
run_client_sctp_bw(void)
|
||||
{
|
||||
par_use(L_ACCESS_RECV);
|
||||
par_use(R_ACCESS_RECV);
|
||||
ip_parameters(32*1024);
|
||||
stream_client_bw(K_SCTP);
|
||||
}
|
||||
|
@ -134,6 +136,8 @@ run_server_sctp_lat(void)
|
|||
void
|
||||
run_client_sdp_bw(void)
|
||||
{
|
||||
par_use(L_ACCESS_RECV);
|
||||
par_use(R_ACCESS_RECV);
|
||||
ip_parameters(64*1024);
|
||||
stream_client_bw(K_SDP);
|
||||
}
|
||||
|
@ -176,6 +180,8 @@ run_server_sdp_lat(void)
|
|||
void
|
||||
run_client_tcp_bw(void)
|
||||
{
|
||||
par_use(L_ACCESS_RECV);
|
||||
par_use(R_ACCESS_RECV);
|
||||
ip_parameters(64*1024);
|
||||
stream_client_bw(K_TCP);
|
||||
}
|
||||
|
@ -218,6 +224,8 @@ run_server_tcp_lat(void)
|
|||
void
|
||||
run_client_udp_bw(void)
|
||||
{
|
||||
par_use(L_ACCESS_RECV);
|
||||
par_use(R_ACCESS_RECV);
|
||||
ip_parameters(32*1024);
|
||||
datagram_client_bw(K_UDP);
|
||||
}
|
||||
|
@ -273,10 +281,9 @@ stream_client_bw(KIND kind)
|
|||
if (n < 0) {
|
||||
LStat.s.no_errs++;
|
||||
continue;
|
||||
} else {
|
||||
LStat.s.no_bytes += n;
|
||||
LStat.s.no_msgs++;
|
||||
}
|
||||
LStat.s.no_bytes += n;
|
||||
LStat.s.no_msgs++;
|
||||
}
|
||||
stop_test_timer();
|
||||
exchange_results();
|
||||
|
@ -305,10 +312,11 @@ stream_server_bw(KIND kind)
|
|||
if (n < 0) {
|
||||
LStat.r.no_errs++;
|
||||
continue;
|
||||
} else {
|
||||
LStat.r.no_bytes += n;
|
||||
LStat.r.no_msgs++;
|
||||
}
|
||||
LStat.r.no_bytes += n;
|
||||
LStat.r.no_msgs++;
|
||||
if (Req.access_recv)
|
||||
touch_data(buf, Req.msg_size);
|
||||
}
|
||||
stop_test_timer();
|
||||
exchange_results();
|
||||
|
@ -337,10 +345,9 @@ stream_client_lat(KIND kind)
|
|||
if (n < 0) {
|
||||
LStat.s.no_errs++;
|
||||
continue;
|
||||
} else {
|
||||
LStat.s.no_bytes += n;
|
||||
LStat.s.no_msgs++;
|
||||
}
|
||||
LStat.s.no_bytes += n;
|
||||
LStat.s.no_msgs++;
|
||||
|
||||
n = recv_full(sockFD, buf, Req.msg_size);
|
||||
if (Finished)
|
||||
|
@ -348,10 +355,9 @@ stream_client_lat(KIND kind)
|
|||
if (n < 0) {
|
||||
LStat.r.no_errs++;
|
||||
continue;
|
||||
} else {
|
||||
LStat.r.no_bytes += n;
|
||||
LStat.r.no_msgs++;
|
||||
}
|
||||
LStat.r.no_bytes += n;
|
||||
LStat.r.no_msgs++;
|
||||
}
|
||||
stop_test_timer();
|
||||
exchange_results();
|
||||
|
@ -380,10 +386,9 @@ stream_server_lat(KIND kind)
|
|||
if (n < 0) {
|
||||
LStat.r.no_errs++;
|
||||
continue;
|
||||
} else {
|
||||
LStat.r.no_bytes += n;
|
||||
LStat.r.no_msgs++;
|
||||
}
|
||||
LStat.r.no_bytes += n;
|
||||
LStat.r.no_msgs++;
|
||||
|
||||
n = send_full(sockFD, buf, Req.msg_size);
|
||||
if (Finished)
|
||||
|
@ -391,10 +396,9 @@ stream_server_lat(KIND kind)
|
|||
if (n < 0) {
|
||||
LStat.s.no_errs++;
|
||||
continue;
|
||||
} else {
|
||||
LStat.s.no_bytes += n;
|
||||
LStat.s.no_msgs++;
|
||||
}
|
||||
LStat.s.no_bytes += n;
|
||||
LStat.s.no_msgs++;
|
||||
}
|
||||
stop_test_timer();
|
||||
exchange_results();
|
||||
|
@ -422,10 +426,9 @@ datagram_client_bw(KIND kind)
|
|||
if (n < 0) {
|
||||
LStat.s.no_errs++;
|
||||
continue;
|
||||
} else {
|
||||
LStat.s.no_bytes += n;
|
||||
LStat.s.no_msgs++;
|
||||
}
|
||||
LStat.s.no_bytes += n;
|
||||
LStat.s.no_msgs++;
|
||||
}
|
||||
stop_test_timer();
|
||||
exchange_results();
|
||||
|
@ -454,10 +457,11 @@ datagram_server_bw(KIND kind)
|
|||
if (n < 0) {
|
||||
LStat.r.no_errs++;
|
||||
continue;
|
||||
} else {
|
||||
LStat.r.no_bytes += n;
|
||||
LStat.r.no_msgs++;
|
||||
}
|
||||
LStat.r.no_bytes += n;
|
||||
LStat.r.no_msgs++;
|
||||
if (Req.access_recv)
|
||||
touch_data(buf, Req.msg_size);
|
||||
}
|
||||
stop_test_timer();
|
||||
exchange_results();
|
||||
|
@ -485,10 +489,9 @@ datagram_client_lat(KIND kind)
|
|||
if (n < 0) {
|
||||
LStat.s.no_errs++;
|
||||
continue;
|
||||
} else {
|
||||
LStat.s.no_bytes += n;
|
||||
LStat.s.no_msgs++;
|
||||
}
|
||||
LStat.s.no_bytes += n;
|
||||
LStat.s.no_msgs++;
|
||||
|
||||
n = read(sockFD, buf, Req.msg_size);
|
||||
if (Finished)
|
||||
|
@ -496,10 +499,9 @@ datagram_client_lat(KIND kind)
|
|||
if (n < 0) {
|
||||
LStat.r.no_errs++;
|
||||
continue;
|
||||
} else {
|
||||
LStat.r.no_bytes += n;
|
||||
LStat.r.no_msgs++;
|
||||
}
|
||||
LStat.r.no_bytes += n;
|
||||
LStat.r.no_msgs++;
|
||||
}
|
||||
stop_test_timer();
|
||||
exchange_results();
|
||||
|
@ -531,10 +533,9 @@ datagram_server_lat(KIND kind)
|
|||
if (n < 0) {
|
||||
LStat.r.no_errs++;
|
||||
continue;
|
||||
} else {
|
||||
LStat.r.no_bytes += n;
|
||||
LStat.r.no_msgs++;
|
||||
}
|
||||
LStat.r.no_bytes += n;
|
||||
LStat.r.no_msgs++;
|
||||
|
||||
n = sendto(sockfd, buf, Req.msg_size, 0, (SA *)&clientAddr, clientLen);
|
||||
if (Finished)
|
||||
|
@ -542,10 +543,9 @@ datagram_server_lat(KIND kind)
|
|||
if (n < 0) {
|
||||
LStat.s.no_errs++;
|
||||
continue;
|
||||
} else {
|
||||
LStat.s.no_bytes += n;
|
||||
LStat.s.no_msgs++;
|
||||
}
|
||||
LStat.s.no_bytes += n;
|
||||
LStat.s.no_msgs++;
|
||||
}
|
||||
stop_test_timer();
|
||||
exchange_results();
|
||||
|
|
Loading…
Reference in New Issue