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 (default 18515). 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 port 1)
  • -s, --size=SIZE β€” ping-pong messages of size SIZE (default 4096)
  • -m, --mtu=MTU β€” use path mtu of size MTU (default 2048)
  • -c, --clients=CLIENTS β€” number of clients CLIENTS (this one's on the server only, default 1)
  • -n, --num-tests=NUM_TESTS β€” perform NUM_TESTS tests per client (default 5)
  • -l, --sl=SL β€” use SL as the service level value (default 0)
  • -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