Provided by: rdmacm-utils_56.1-1ubuntu1_amd64 bug

NAME

       cmtime - RDMA CM connection steps timing test.

SYNOPSIS

       cmtime [-s server_address] [-b bind_address]
                      [-c connections] [-p port_number]
                      [-q base_qpn]
                      [-r retries] [-t timeout_ms]

DESCRIPTION

       Determines  min,  max,  and  average  times  for various "steps" in RDMA CM connection setup and teardown
       between a client and server application.

       "Steps" that are timed are: create ID, bind address, resolve address, resolve route, create QP, modify QP
       to INIT, modify QP to RTR, modify QP to RTS, CM connect, client establish, disconnect,  destroy  QP,  and
       destroy ID.

       Many  operations  are asynchronous, allowing progress on multiple connections simultanesously.  The 'sum'
       output adds the time that all connections took for a given  step.   The  average  'us/conn'  is  the  sum
       divided  by  the number of connections.  This is useful to identify steps which take a significant amount
       of time.  The min and max values are the smallest and largest times that any single  connection  took  to
       complete a given step.

       The  'total'  and  'avg/iter' times measure the time to complete a given step for all connections.  These
       two values take into account asynchronous operations.  For steps which are  serial,  the  total  and  sum
       values  will  be roughly the same.  For asynchronous steps, the total may be significantly lower than the
       sum, as multiple connections will be in progress simultanesously.  The avg/iter is the total time divided
       by the number of connections.

       In many cases, times may not be available or only available on  the  client.   Is  such  situations,  the
       output will show 0.

OPTIONS

       -s server_address
              The  network  name or IP address of the server system listening for connections.  The used name or
              address must route over an RDMA device.  This option must be specified by the client.

       -b bind_address
              The local network address to bind to.

       -c connections
              The number of connections to establish between the client and server.  (default 100)

       -p port_number
              The server's port number.

       -q base_qpn
              The first QP number to use when creating connections without allocating hardware  QPs.   The  test
              will  use  the  values  between  base_qpn and base_qpn plus connections when connecting.  (default
              1000)

       -n num_threads
              Sets the number of threads to spawn used to process connection  events  and  hardware  operations.
              (default 1)

       -m mimic_qp_delay_us
              "Simulates"  QP  creation and modify calls by replacing them with a simple sleep function instead.
              This allows testing the CM at larger scale than would be practical, or even possible given  system
              configuration settings, if HW resources needed to be allocated.

       -r retries
              Number of retries when resolving address or route.  (default 2)

       -S     Run  connection  rate test using sockets.  This provides a baseline comparison of RDMA connections
              versus TCP connections.  Sockets are set to blocking mode.

       -t timeout_ms
              Timeout in millseconds (ms) when resolving address or route.  (default 2000 - 2 seconds)

NOTES

       Basic usage is to start cmtime on a server system, then run cmtime -s server_name on a client system.

       Because this test maps RDMA resources to userspace, users must ensure that  they  have  available  system
       resources and permissions.  See the libibverbs README file for additional details.

SEE ALSO

       rdma_cm(7)

librdmacm                                          2017-04-28                                          CMTIME(1)