History

RDMA/efa: Support QP with unsolicited write w/ imm. receive

Add a new EFA flags attribute for QP creation, and support unsolicited write with immediate flag. QPs created with this flag set will not consume receive work requests for incoming RDMA write with immediate. Expose device capability bit for this feature support.

Michael Margolin committed 2 years ago

Commit 2b8af501 parent f483f6a5 files · +38 −3Browse files

Showing the changes to include/uapi (1 of 5 files). Show all

Unified · Split

include/uapi/rdma/efa-abi.h+7−0
@@ -85,11 +85,17 @@ enum { · 84 unmodified lines
85 EFA_QP_DRIVER_TYPE_SRD = 0,85 EFA_QP_DRIVER_TYPE_SRD = 0,
86};86};
87 87
88enum {
89 EFA_CREATE_QP_WITH_UNSOLICITED_WRITE_RECV = 1 << 0,
90};
91
88struct efa_ibv_create_qp {92struct efa_ibv_create_qp {
89 __u32 comp_mask;93 __u32 comp_mask;
90 __u32 rq_ring_size; /* bytes */94 __u32 rq_ring_size; /* bytes */
91 __u32 sq_ring_size; /* bytes */95 __u32 sq_ring_size; /* bytes */
92 __u32 driver_qp_type;96 __u32 driver_qp_type;
97 __u16 flags;
98 __u8 reserved_90[6];
93};99};
94 100
95struct efa_ibv_create_qp_resp {101struct efa_ibv_create_qp_resp {
@@ -123,6 +129,7 @@ enum { · 27 unmodified lines
123 EFA_QUERY_DEVICE_CAPS_CQ_WITH_SGID = 1 << 3,129 EFA_QUERY_DEVICE_CAPS_CQ_WITH_SGID = 1 << 3,
124 EFA_QUERY_DEVICE_CAPS_DATA_POLLING_128 = 1 << 4,130 EFA_QUERY_DEVICE_CAPS_DATA_POLLING_128 = 1 << 4,
125 EFA_QUERY_DEVICE_CAPS_RDMA_WRITE = 1 << 5,131 EFA_QUERY_DEVICE_CAPS_RDMA_WRITE = 1 << 5,
132 EFA_QUERY_DEVICE_CAPS_UNSOLICITED_WRITE_RECV = 1 << 6,
126};133};
127 134
128struct efa_ibv_ex_query_device_resp {135struct efa_ibv_ex_query_device_resp {