IBV_MODIFY_QP_RATE_LIMIT
Section: Libibverbs Programmer's Manual (3)
Updated: 2018-01-09
Index
Return to Main Contents
NAME
ibv_modify_qp_rate_limit - modify the send rate limits attributes of a queue pair (QP)
SYNOPSIS
#include <infiniband/verbs.h>
int ibv_modify_qp_rate_limit(struct ibv_qp *qp, struct ibv_qp_rate_limit_attr *attr);
DESCRIPTION
ibv_modify_qp_rate_limit()
modifies the send rate limiting packet pacing attributes of QP
qp
with the attributes in
attr.
The argument attr is an ibv_qp_rate_limit_attr struct, as defined in <infiniband/verbs.h>.
The
rate_limit
defines the MAX send rate this QP will send as long as the link in not blocked and there are work requests in send queue.
Finer control for shaping the rate limit of a QP is achieved by defining the
max_burst_sz,
single burst max bytes size and the
typical_pkt_sz,
typical packet bytes size. These allow the device to adjust the inter-burst gap delay required to correctly shape the scheduling of sends to the wire in order to reach for requested application requirements.
Setting a value of 0 for
max_burst_sz
or
typical_pkt_sz
will use the devices defaults.
typical_pkt_sz
will default to the port's MTU value.
struct ibv_qp_rate_limit_attr {
uint32_t rate_limit; /* kbps */
uint32_t max_burst_sz; /* bytes */
uint16_t typical_pkt_sz; /* bytes */
};
RETURN VALUE
ibv_modify_qp_rate_limit()
returns 0 on success, or the value of errno on failure (which indicates the failure reason).
ERRORS
EINVAL
Invalid arguments.
EOPNOTSUPP
Function is not implemented for this device.
(ENOSYS may sometimes be returned by old versions of libibverbs).
SEE ALSO
ibv_create_qp(3),
ibv_destroy_qp(3),
ibv_modify_qp(3),
ibv_query_qp(3)
AUTHORS
- Alex Rosenbaum <alexr@mellanox.com>
-
- Bodong Wang <bodong@mellanox.com>
-
Index
- NAME
-
- SYNOPSIS
-
- DESCRIPTION
-
- RETURN VALUE
-
- ERRORS
-
- EINVAL
-
- EOPNOTSUPP
-
- SEE ALSO
-
- AUTHORS
-
This document was created by
man2html,
using the manual pages.
Time: 05:06:11 GMT, April 25, 2024