From: Sean Hefty Date: Wed, 12 Sep 2012 17:45:39 +0000 (-0700) Subject: Refresh of xrcd X-Git-Url: https://openfabrics.org/gitweb/?a=commitdiff_plain;h=48f733ae642d8e8294649245098bf91298467729;p=~shefty%2Flibibverbs.git Refresh of xrcd --- diff --git a/include/infiniband/driver.h b/include/infiniband/driver.h index 03225cd..193b0dd 100644 --- a/include/infiniband/driver.h +++ b/include/infiniband/driver.h @@ -105,10 +105,6 @@ int ibv_cmd_create_srq(struct ibv_pd *pd, struct ibv_srq *srq, struct ibv_srq_init_attr *attr, struct ibv_create_srq *cmd, size_t cmd_size, struct ibv_create_srq_resp *resp, size_t resp_size); -int ibv_cmd_create_srq_ex(struct ibv_pd *pd, - struct ibv_srq *srq, struct ibv_srq_init_attr_ex *attr_ex, - struct ibv_create_srq_ex *cmd, size_t cmd_size, - struct ibv_create_srq_resp *resp, size_t resp_size); int ibv_cmd_modify_srq(struct ibv_srq *srq, struct ibv_srq_attr *srq_attr, int srq_attr_mask, diff --git a/include/infiniband/verbs.h b/include/infiniband/verbs.h index 2b32730..f9a1b2e 100644 --- a/include/infiniband/verbs.h +++ b/include/infiniband/verbs.h @@ -423,28 +423,6 @@ struct ibv_srq_init_attr { struct ibv_srq_attr attr; }; -enum ibv_srq_type { - IBV_SRQT_BASIC, - IBV_SRQT_XRC -}; - -enum ibv_srq_init_attr_mask { - IBV_SRQ_INIT_ATTR_SRQ_TYPE = 1 << 0, - IBV_SRQ_INIT_ATTR_XRCD = 1 << 1, - IBV_SRQ_INIT_ATTR_CQ = 1 << 2, - IBV_SRQ_INIT_ATTR_RESERVED = 1 << 3 -}; - -struct ibv_srq_init_attr_ex { - void *srq_context; - struct ibv_srq_attr attr; - - uint64_t comp_mask; - enum ibv_srq_type srq_type; - struct ibv_xrcd *xrcd; - struct ibv_cq *cq; -}; - enum ibv_qp_type { IBV_QPT_RC = 2, IBV_QPT_UC, @@ -471,24 +449,6 @@ struct ibv_qp_init_attr { int sq_sig_all; }; -enum ibv_qp_init_attr_mask { - IBV_QP_INIT_ATTR_XRCD = 1 << 0, - IBV_QP_INIT_ATTR_RESERVED = 1 << 1 -}; - -struct ibv_qp_init_attr_ex { - void *qp_context; - struct ibv_cq *send_cq; - struct ibv_cq *recv_cq; - struct ibv_srq *srq; - struct ibv_qp_cap cap; - enum ibv_qp_type qp_type; - int sq_sig_all; - - uint64_t comp_mask; - struct ibv_xrcd *xrcd; -}; - enum ibv_qp_attr_mask { IBV_QP_STATE = 1 << 0, IBV_QP_CUR_STATE = 1 << 1, @@ -604,11 +564,6 @@ struct ibv_send_wr { uint32_t remote_qpn; uint32_t remote_qkey; } ud; - struct { - uint64_t reserved[3]; - uint32_t reserved2; - uint32_t remote_srqn; - } xrc; } wr; }; @@ -628,14 +583,6 @@ struct ibv_mw_bind { int mw_access_flags; }; -enum ibv_srq_mask { - IBV_SRQ_TYPE = 1 << 0, - IBV_SRQ_XRCD = 1 << 1, - IBV_SRQ_CQ = 1 << 2, - IBV_SRQ_NUM = 1 << 3, - IBV_SRQ_RESERVED = 1 << 4 -}; - struct ibv_srq { struct ibv_context *context; void *srq_context; @@ -645,17 +592,6 @@ struct ibv_srq { pthread_mutex_t mutex; pthread_cond_t cond; uint32_t events_completed; - - uint64_t comp_mask; - enum ibv_srq_type srq_type; - struct ibv_xrcd *xrcd; - struct ibv_cq *cq; - uint32_t srq_num; -}; - -enum ibv_qp_mask { - IBV_QP_XRCD = 1 << 0, - IBV_QP_RESERVED = 1 << 1 }; struct ibv_qp { @@ -673,9 +609,6 @@ struct ibv_qp { pthread_mutex_t mutex; pthread_cond_t cond; uint32_t events_completed; - - uint64_t comp_mask; - struct ibv_xrcd *xrcd; }; struct ibv_comp_channel { @@ -814,10 +747,6 @@ struct verbs_context { int (*drv_new_func1) (); new corresponding provider call of func1 int (*lib_new_func1) (); New library call func1 */ - struct ibv_qp * (*create_qp_ex)(struct ibv_pd *pd, - struct ibv_qp_init_attr_ex *attr_ex); - struct ibv_srq * (*create_srq_ex)(struct ibv_pd *pd, - struct ibv_srq_init_attr_ex *srq_init_attr_ex); struct ibv_xrcd * (*open_xrcd)(struct ibv_context *context, int fd, int oflags); int (*close_xrcd)(struct ibv_xrcd *xrcd); @@ -1085,9 +1014,6 @@ static inline int ibv_req_notify_cq(struct ibv_cq *cq, int solicited_only) struct ibv_srq *ibv_create_srq(struct ibv_pd *pd, struct ibv_srq_init_attr *srq_init_attr); -struct ibv_srq *ibv_create_srq_ex(struct ibv_pd *pd, - struct ibv_srq_init_attr_ex *srq_init_attr_ex); - /** * ibv_modify_srq - Modifies the attributes for the specified SRQ. * @srq: The SRQ to modify. @@ -1138,9 +1064,6 @@ static inline int ibv_post_srq_recv(struct ibv_srq *srq, struct ibv_qp *ibv_create_qp(struct ibv_pd *pd, struct ibv_qp_init_attr *qp_init_attr); -struct ibv_qp *ibv_create_qp_ex(struct ibv_pd *pd, - struct ibv_qp_init_attr_ex *qp_init_attr_ex); - /** * ibv_modify_qp - Modify a queue pair. */ diff --git a/src/cmd.c b/src/cmd.c index ed5ea6b..6c118be 100644 --- a/src/cmd.c +++ b/src/cmd.c @@ -480,50 +480,6 @@ int ibv_cmd_create_srq(struct ibv_pd *pd, return 0; } -int ibv_cmd_create_srq_ex(struct ibv_pd *pd, - struct ibv_srq *srq, struct ibv_srq_init_attr_ex *attr_ex, - struct ibv_create_xsrq *cmd, size_t cmd_size, - struct ibv_create_srq_resp *resp, size_t resp_size) -{ - IBV_INIT_CMD_RESP(cmd, cmd_size, CREATE_XSRQ, resp, resp_size); - cmd->user_handle = (uintptr_t) srq; - cmd->pd_handle = pd->handle; - cmd->max_wr = attr_ex->attr.max_wr; - cmd->max_sge = attr_ex->attr.max_sge; - cmd->srq_limit = attr_ex->attr.srq_limit; - - if (attr_ex->comp_mask & IBV_SRQ_INIT_ATTR_SRQ_TYPE) { - cmd->srq_type = attr_ex->srq_type; - switch (attr_ex->srq_type) { - case IBV_SRQT_XRC: - cmd->xrcd_handle = attr_ex->xrcd->handle; - cmd->cq_handle = attr_ex->cq->handle; - break; - default: - break; - } - } else { - cmd->srq_type = IBV_SRQT_BASIC; - } - - if (write(pd->context->cmd_fd, cmd, cmd_size) != cmd_size) - return errno; - - VALGRIND_MAKE_MEM_DEFINED(resp, resp_size); - - srq->handle = resp->srq_handle; - srq->context = pd->context; - if (cmd->srq_type == IBV_SRQT_XRC) { - srq->comp_mask |= IBV_SRQ_NUM; - srq->srq_num = resp->srqn; - } - - attr_ex->attr.max_wr = resp->max_wr; - attr_ex->attr.max_sge = resp->max_sge; - - return 0; -} - static int ibv_cmd_modify_srq_v3(struct ibv_srq *srq, struct ibv_srq_attr *srq_attr, int srq_attr_mask,