изменять атрибуты общей очереди приема (SRQ) (modify attributes of a shared receive queue (SRQ))
Имя (Name)
ibv_modify_srq - modify attributes of a shared receive queue
(SRQ)
Синопсис (Synopsis)
#include <infiniband/verbs.h>
int ibv_modify_srq(struct ibv_srq
*srq,
struct ibv_srq_attr
*srq_attr,
int
srq_attr_mask);
Описание (Description)
ibv_modify_srq()
modifies the attributes of SRQ srq with the
attributes in srq_attr according to the mask srq_attr_mask. The
argument srq_attr is an ibv_srq_attr struct, as defined in
<infiniband/verbs.h>.
struct ibv_srq_attr {
uint32_t max_wr; /* maximum number of outstanding work requests (WRs) in the SRQ */
uint32_t max_sge; /* number of scatter elements per WR (irrelevant for ibv_modify_srq) */
uint32_t srq_limit; /* the limit value of the SRQ */
};
The argument srq_attr_mask specifies the SRQ attributes to be
modified. The argument is either 0 or the bitwise OR of one or
more of the following flags:
IBV_SRQ_MAX_WR
Resize the SRQ
IBV_SRQ_LIMIT
Set the SRQ limit
Возвращаемое значение (Return value)
ibv_modify_srq()
returns 0 on success, or the value of errno on
failure (which indicates the failure reason).
Примечание (Note)
If any of the modify attributes is invalid, none of the
attributes will be modified.
Not all devices support resizing SRQs. To check if a device
supports it, check if the IBV_DEVICE_SRQ_RESIZE
bit is set in the
device capabilities flags.
Modifying the srq_limit arms the SRQ to produce an
IBV_EVENT_SRQ_LIMIT_REACHED
"low watermark" asynchronous event
once the number of WRs in the SRQ drops below srq_limit.
Смотри также (See also)
ibv_query_device(3), ibv_create_srq(3), ibv_destroy_srq(3),
ibv_query_srq(3)