IBV_XSRQ_PINGPONG(1)
π¦ NAME π¦
okay so ibv_xsrq_pingpong β it's a simple InfiniBand shared receive queue test, bestie. that's literally it. section 1 of the manual, USER COMMANDS energy π
β¨ SYNOPSIS β¨
ibv_xsrq_pingpong [-p port] [-d device] [-i ib port] [-s size] [-m mtu]
[-c clients] [-n num_tests] [-l sl] [-e] [-g gid index] HOSTNAME
ibv_xsrq_pingpong [-p port] [-d device] [-i ib port] [-s size] [-m mtu]
[-c clients] [-n num_tests] [-l sl] [-e] [-g gid index]
two whole moods, fr fr β one where you pass a HOSTNAME, and one where you don't. pick your fighter π
πΈ DESCRIPTION πΈ
okay so picture this: you run a simple ping-pong test over InfiniBand, and you do it via the extended reliable connected transport service β that's XRC if you're in the group chat β and it uses a shared receive queue (SRQ). that's the whole vibe. iconic honestly π
π OPTIONS π
-p,--port=PORTβ use TCP port PORT for the initial synchronization moment (default18515). it's giving "let's sync up first" π«Ά-d,--ib-dev=DEVICEβ use IB device DEVICE (default is the first device found β she's not picky, she'll take whoever shows up first π)-i,--ib-port=PORTβ use IB port PORT (default port1)-s,--size=SIZEβ ping-pong messages of size SIZE (default4096)-m,--mtu=MTUβ use path mtu of size MTU (default2048)-c,--clients=CLIENTSβ number of clients CLIENTS (this one's on the server only, default1)-n,--num-tests=NUM_TESTSβ perform NUM_TESTS tests per client (default5)-l,--sl=SLβ use SL as the service level value (default0)-e,--eventsβ sleep while waiting for work completion events (the default is to poll for completions instead). so you're either napping or spinning, no in between π-g,--gid-idx=GIDINDEXβ local port GIDINDEX. that's it, that's the whole thing β¨
π SEE ALSO π
go read these next, bestie, they're the whole friend group:
π AUTHORS π
the legends who made this happen:
- Roland Dreier β
<roland@purestorage.com> - Jarod Wilson β
<jarod@redhat.com>
we stan π
π BUGS π
okay so real talk, this part is not cute. the network synchronization between client and server instances is weak, and it does not prevent incompatible options from being used on the two instances. so like. it will simply not stop you from doing that. π
also the method used for retrieving work completions is not strictly correct, and race conditions may cause failures on some systems. no cap. that's a real caveat, not a vibe β proceed with your eyes open, queen π₯
and that's the page, bestie!! this whole thing ships as part of libibverbs, dated May 24, 2016 β a certified classic at this point. go forth and ping-pong responsibly ππ
π¦ where this page comes from
- alpine 3.24: rdma-core-doc 61.0-r0 Β· GPL-2.0-only OR BSD-2-Clause
- arch rolling: rdma-core 65.0-1 Β· GPL-2.0-or-later OR LicenseRef-OpenIB.org-BSD-MIT AND GPL-2.0-or-later OR LicenseRef-OpenIB.org-BSD-FreeBSD AND GPL-2.0-or-later OR LicenseRef-Intel-BSD-3-Clause AND GPL-2.0-or-later OR LicenseRef-PathScale-BSD-Patent-License AND CC0-1.0 AND MIT AND BSD-2-Clause AND CPL-1.0 OR BSD-2-Clause OR GPL-2.0-or-later
- centos-stream 10: libibverbs-utils 62.0-3.el10 Β· GPLv2 or BSD
- centos-stream 9: libibverbs-utils 61.0-3.el9 Β· GPLv2 or BSD
- debian bookworm: ibverbs-utils 44.0-2 Β· BSD-MIT OR GPL-2.0-only
- debian trixie: ibverbs-utils 56.1-1 Β· BSD-MIT OR GPL-2.0-only
- fedora 43: libibverbs-utils 58.0-4.fc43 Β· GPL-2.0-only OR BSD-2-Clause AND BSD-3-Clause
- fedora 44: libibverbs-utils 61.0-2.fc44 Β· GPL-2.0-only OR BSD-2-Clause AND BSD-3-Clause
- fedora 44: libibverbs-utils 61.1^20260812git975bdaf-1.fc44 Β· GPL-2.0-only OR BSD-2-Clause AND BSD-3-Clause
- nixos 26.05: rdma-core 62.0
- nixpkgs unstable: rdma-core 65.0
- opensuse-leap 16.0: libibverbs-utils 56.1-160000.2.2 Β· BSD-2-Clause OR GPL-2.0-only
- opensuse-leap 16.0: libibverbs-utils 56.1-160000.2.2 Β· BSD-2-Clause OR GPL-2.0-only
- opensuse-leap 16.0: libibverbs-utils 56.1-160000.2.2 Β· BSD-2-Clause OR GPL-2.0-only
- opensuse-leap 16.0: libibverbs-utils 56.1-160000.2.2 Β· BSD-2-Clause OR GPL-2.0-only
- ubuntu jammy: ibverbs-utils 39.0-1 Β· BSD-MIT OR GPL-2.0-only
- ubuntu noble: ibverbs-utils 50.0-2build2 Β· BSD-MIT OR GPL-2.0-only
- ubuntu noble: ibverbs-utils 50.0-2ubuntu0.2 Β· BSD-MIT OR GPL-2.0-only
- ubuntu questing: ibverbs-utils 56.1-1ubuntu1
- ubuntu resolute: ibverbs-utils 61.0-2ubuntu3 Β· BSD-MIT OR GPL-2.0-only
- ubuntu stonking: ibverbs-utils 64.0-1ubuntu1 Β· BSD-MIT OR GPL-2.0-only
- π girlified by deepseek-ai/DeepSeek-V4.1-Flash on : a language model's rewrite of the original, under its terms