+/*
+ * Work Queue. QP can be created without internal WQs "packaged" inside it,
+ * this QP can be configured to use "external" WQ object as its
+ * receive/send queue.
+ * WQ associated (many to one) with Completion Queue it owns WQ properties
+ * (PD, WQ size etc).
+ * WQ of type IBV_WQT_RQ:
+ * - Contains receive WQEs, in this case its PD serves as scatter as well.
+ * - Exposes post receive function to be used to post a list of work
+ * requests (WRs) to its receive queue.
+ */
+struct ibv_wq {
+ struct ibv_context *context;
+ void *wq_context;
+ struct ibv_pd *pd;
+ struct ibv_cq *cq;
+ uint32_t wq_num;
+ uint32_t handle;
+ enum ibv_wq_state state;
+ enum ibv_wq_type wq_type;
+ int (*post_recv)(struct ibv_wq *current,
+ struct ibv_recv_wr *recv_wr,
+ struct ibv_recv_wr **bad_recv_wr);
What was the reason not to go with the normal ibv_context_ops callout
scheme?
--
To unsubscribe from this list: send the line "unsubscribe linux-rdma" in
the body of a message to majordomo-u79uwXL29TY76Z2rM5mHXA@public.gmane.org
More majordomo info at http://vger.kernel.org/majordomo-info.html