dtestx(1)

๐Ÿ“ฆ version 2.1.10.1.f1e05b7a, in debian bookworm, ubuntu jammy, ubuntu noble, ubuntu resolute, ubuntu stonking

๐Ÿ’… dtestx โ€” like, the manual page, but make it make sense

okay bestie, gather round, because we're talking about dtestx(1) โ€” it lives in the USER COMMANDS section, and honestly? it's giving niche but iconic. โœจ


๐Ÿฆ‹ NAME ๐Ÿฆ‹

dtestx โ€” a simple uDAPL extensions test. that's it, that's the whole name section, no notes. ๐Ÿ’–


๐ŸŽ€ SYNOPSIS ๐ŸŽ€

dtestx [-vmpqc] [-u|-U ep num] [-P provider] [-b buf size] [ -s | -h HOSTNAME ]

like yes she's compact, she's cute, she's a little cryptic. we'll get into all of it, don't worry. ๐Ÿซถ


โœจ DESCRIPTION โœจ

so dtestx is a simple test that exists to test extensions to the DAT API. that's the whole assignment.

here's the thing though โ€” you can't just run it once and call it a day. at least two instantiations of the test must be run. one of them acts as the server, and the other one is the client. that's the duo. the friendship bracelet of processes. ๐Ÿ˜Œ

the server side of the test, once you invoke it, just sits there listening for connection requests, until it times out or gets killed. very patient. very demure. ๐Ÿง˜

the moment it receives a cd connection request, the connection gets established, and then the server and client sides exchange all the info they need to perform the extensions test. slay. ๐Ÿ’…

and the extensions tests themselves are:

  1. Post rdma write with immediate data
  2. Atomic compare and swap
  3. Atomic fetch and add
Note: in case -q is set, only the query test will run. that's it, that's the whole run. no extras.

๐Ÿ”ฅ OPTIONS ๐Ÿ”ฅ

every single one, no skipping, because we don't do that here:

  • -P=PROVIDER โ€” use PROVIDER to specify the uDAPL interface via /etc/dat.conf. the default is ofa-v2-mlx4_0-1u. ๐Ÿ’ซ
  • -h=HOSTNAME โ€” use HOSTNAME to specify the server hostname or IP address. default is none. ๐Ÿซฅ
  • -b=BUFFER_SIZE โ€” use buffer size BUFFER_SIZE for RDMA. default is 64. ๐Ÿ“
  • -U=EP_COUNT โ€” use EP_COUNT to specify an unreliable datagram test with EP_COUNT UD endpoints. default is none. ๐Ÿ“ฎ
  • -v โ€” verbose output. default off. ๐Ÿ”Š
  • -q โ€” query only test. default off. ๐Ÿ”
  • -u โ€” unreliable datagram test. default no. ๐Ÿ“ก
  • -s โ€” run as server. default โ€” run as server. ๐Ÿ–ฅ๏ธ
  • -c โ€” run as client (for non UD tests, -h is always client). ๐Ÿ“ฑ
  • -p โ€” print counters. provide IA, EP, or EVD and the call will print the appropriate counters. default off. ๐Ÿงฎ
  • -m โ€” multi ep. in ud test only. receive multi messages on a single EP. default off โ€” which means receive one message across multiple EPs. ๐ŸŒˆ

๐ŸŒธ EXAMPLES ๐ŸŒธ

kay so here's how you'd actually use her:

dtestx -P ofa-v2-ib0 -v -s

starts a server process with debug verbosity, using provider ofa-v2-ib0. very demure, very server-coded. ๐Ÿ‘‘

dtestx -P ofa-v2-ib0 -h server1-ib0

starts a client process, using the ofa-v2-ib0 provider to connect to hostname server1-ib0. the client has entered the chat. ๐Ÿซถ


โญ SEE ALSO โญ

go read these next, bestie, iykyk:


๐Ÿ’œ AUTHORS ๐Ÿ’œ

the legends who made this happen:

  • Arlin Davis โ€” <arlin.r.davis@intel.com>
  • Amir Hanania โ€” <amir.hanania@intel.com>

and that's the whole page, babe. this one's from uDAPL 2.1, dated November 15, 2016 โ€” old but still serving. periodt. ๐Ÿ’…โœจ๐ŸŽ€

๐Ÿ“ฆ where this page comes from