ibv_srq_pingpong — simple InfiniBand shared receive queue test
Synopsis
ibv_srq_pingpong [-p port] [-d device] [-i ib port] [-s size] [-m size] [-q num QPs] [-r rx depth] [-n iters] [-l sl] [-e] [-g gid index] HOSTNAME
ibv_srq_pingpong [-p port] [-d device] [-i ib port] [-s size] [-m size] [-q num QPs] [-r rx depth] [-n iters] [-l sl] [-e] [-g gid index]
Description
Run a simple ping-pong test over InfiniBand via the reliable connected (RC) transport, using multiple queue pairs (QPs) and a single shared receive queue (SRQ).
Options
- -p, --port=PORT
use TCP port PORT for initial synchronization (default 18515)
- -d, --ib-dev=DEVICE
use IB device DEVICE (default first device found)
- -i, --ib-port=PORT
use IB port PORT (default port 1)
- -s, --size=SIZE
ping-pong messages of size SIZE (default 4096)
- -m, --mtu=SIZE
path MTU SIZE (default 1024)
- -q, --num-qp=NUM
use NUM queue pairs for test (default 16)
- -r, --rx-depth=DEPTH
post DEPTH receives at a time (default 1000)
- -n, --iters=ITERS
perform ITERS message exchanges (default 1000)
- -l, --sl=SL
use SL as the service level value of the QPs (default 0)
- -e, --events
sleep while waiting for work completion events (default is to poll for completions)
- -g, --gid-idx=GIDINDEX
local port GIDINDEX
- -c, --chk
validate received buffer
See Also
ibv_rc_pingpong(1), ibv_uc_pingpong(1), ibv_ud_pingpong(1), ibv_xsrq_pingpong(1)
Bugs
The network synchronization between client and server instances is weak, and does not prevent incompatible options from being used on the two instances. The method used for retrieving work completions is not strictly correct, and race conditions may cause failures on some systems.
Referenced By
ibv_rc_pingpong(1), ibv_uc_pingpong(1), ibv_ud_pingpong(1), ibv_xsrq_pingpong(1).