1ibv_query_qp_data_in_ordeLri(b3i)bverbs Programmer’s Mainbuva_lquery_qp_data_in_order(3)
2
3
4
6 ibv_query_qp_data_in_order - check if qp data is guaranteed to be in
7 order.
8
10 #include <infiniband/verbs.h>
11
12 int ibv_query_qp_data_in_order(struct ibv_qp *qp, enum ibv_wr_opcode op, uint32_t flags);
13
15 ibv_query_qp_data_in_order() Checks whether WQE data is guaranteed to
16 be written in-order, and thus reader may poll for data instead of poll
17 for completion. This function indicates data is written in-order with‐
18 in each WQE, but cannot be used to determine ordering between separate
19 WQEs. This function describes ordering at the receiving side of the
20 QP, not the sending side.
21
23 qp
24
25 The local queue pair (QP) to query.
26
27 op
28
29 The operation type to query about. Different operation types may write data in a different order.
30 For RDMA read operations: describes ordering of RDMA reads post‐
31 ed on this local QP. For RDMA write operations: describes or‐
32 dering of remote RDMA writes being done into this local QP. For
33 RDMA send operations: describes ordering of remote RDMA sends
34 being done into this local QP. This function should not be used
35 to determine ordering of other operation types.
36
37 flags Flags are used to select a query type. Supported values:
38
39 IBV_QUERY_QP_DATA_IN_ORDER_RETURN_CAPS - Query for supported capabili‐
40 ties and return a capabilities vector.
41
42 Passing 0 is equivalent to using IBV_QUERY_QP_DATA_IN_ORDER_RETURN_CAPS
43 and checking for IBV_QUERY_QP_DATA_IN_ORDER_WHOLE_MSG support.
44
46 ibv_query_qp_data_in_order() Return value is determined by flags. For
47 each capability bit, 1 is returned if the data is guaranteed to be
48 written in-order for selected operation and type, 0 otherwise. If
49 IBV_QUERY_QP_DATA_IN_ORDER_RETURN_CAPS flag is used, return value can
50 consist of following capabilities:
51
52 IBV_QUERY_QP_DATA_IN_ORDER_WHOLE_MSG - All data is being written in or‐
53 der.
54
55 IBV_QUERY_QP_DATA_IN_ORDER_ALIGNED_128_BYTES - Each 128 bytes aligned
56 block is being written in order.
57
58 If flags is 0, the function will return 1 if IBV_QUERY_QP_DATA_IN_OR‐
59 DER_WHOLE_MSG is supported and 0 otherwise.
60
62 Return value is valid only when the data is read by the CPU and relaxed
63 ordering MR is not the target of the transfer.
64
66 ibv_query_qp(3)
67
69 Patrisious Haddad <phaddad@nvidia.com>
70
71 Yochai Cohen <yochai@nvidia.com>
72
73
74
75libibverbs 2020-3-3 ibv_query_qp_data_in_order(3)