1IBV_MODIFY_SRQ(3) Libibverbs Programmer's Manual IBV_MODIFY_SRQ(3)
2
3
4
6 ibv_modify_srq - modify attributes of a shared receive queue (SRQ)
7
9 #include <infiniband/verbs.h>
10
11 int ibv_modify_srq(struct ibv_srq *srq,
12 struct ibv_srq_attr *srq_attr,
13 int srq_attr_mask);
14
16 ibv_modify_srq() modifies the attributes of SRQ srq with the attributes
17 in srq_attr according to the mask srq_attr_mask. The argument srq_attr
18 is an ibv_srq_attr struct, as defined in <infiniband/verbs.h>.
19
20 struct ibv_srq_attr {
21 uint32_t max_wr; /* maximum number of outstanding work requests (WRs) in the SRQ */
22 uint32_t max_sge; /* number of scatter elements per WR (irrelevant for ibv_modify_srq) */
23 uint32_t srq_limit; /* the limit value of the SRQ */
24 };
25
26 The argument srq_attr_mask specifies the SRQ attributes to be modified.
27 The argument is either 0 or the bitwise OR of one or more of the fol‐
28 lowing flags:
29
30 IBV_SRQ_MAX_WR Resize the SRQ
31
32 IBV_SRQ_LIMIT Set the SRQ limit
33
35 ibv_modify_srq() returns 0 on success, or the value of errno on failure
36 (which indicates the failure reason).
37
39 If any of the modify attributes is invalid, none of the attributes will
40 be modified.
41
42 Not all devices support resizing SRQs. To check if a device supports
43 it, check if the IBV_DEVICE_SRQ_RESIZE bit is set in the device capa‐
44 bilities flags.
45
46 Modifying the srq_limit arms the SRQ to produce an
47 IBV_EVENT_SRQ_LIMIT_REACHED "low watermark" asynchronous event once the
48 number of WRs in the SRQ drops below srq_limit.
49
51 ibv_query_device(3), ibv_create_srq(3), ibv_destroy_srq(3),
52 ibv_query_srq(3)
53
55 Dotan Barak <dotanba@gmail.com>
56
57
58
59libibverbs 2006-10-31 IBV_MODIFY_SRQ(3)