From 9c787b25021a819f8bfb68df79566a6c6fea3c51 Mon Sep 17 00:00:00 2001 From: Sean Hefty Date: Fri, 28 Sep 2012 09:32:44 -0700 Subject: [PATCH] refresh --- meta | 7 +++---- patches/refresh-temp | 42 ------------------------------------------ patches/srq_ex | 23 ++++++++++++++++------- 3 files changed, 19 insertions(+), 53 deletions(-) delete mode 100644 patches/refresh-temp diff --git a/meta b/meta index 84cd452..56258fe 100644 --- a/meta +++ b/meta @@ -1,11 +1,10 @@ Version: 1 -Previous: 39832d00b7f1720ee1d06935ffb1951e31f7f8b1 -Head: a56d28f70fb5774b67cf30b870a44cfac6180378 +Previous: 6b3992ac7020ccc5bc820a380b5c1dc9c0cde776 +Head: d347d0a929958e09fceecc8a5c403d1c782354b7 Applied: verbs-ext: 6f5bd9320736c14a35405d30b5bcda552c0a9bc3 xrcd: b4857ddf1a0837fff54f81be34a1464e9239de0e - srq_ex: 8455fcb067d1c06a5477cc9c1a90b498b39f60e6 - refresh-temp: a56d28f70fb5774b67cf30b870a44cfac6180378 + srq_ex: d347d0a929958e09fceecc8a5c403d1c782354b7 Unapplied: xrc_qp: ea51cb7217272757132db0c3a824214b4ee7901d open_qp: 6879b6122f8020f5defafa829507258bde55d00d diff --git a/patches/refresh-temp b/patches/refresh-temp deleted file mode 100644 index 69d09ee..0000000 --- a/patches/refresh-temp +++ /dev/null @@ -1,42 +0,0 @@ -Bottom: e3951de5404ebe328b74eca777759390793e2b6b -Top: 2524e29d2e369a9ff026f617bd9b1d60640fa84f -Author: Sean Hefty -Date: 2012-09-28 09:32:44 -0700 - -Refresh of srq_ex - ---- - -diff --git a/include/infiniband/verbs.h b/include/infiniband/verbs.h -index 82e8da9..47ec63c 100644 ---- a/include/infiniband/verbs.h -+++ b/include/infiniband/verbs.h -@@ -432,7 +432,7 @@ struct ibv_srq_init_attr_ex { - void *srq_context; - struct ibv_srq_attr attr; - -- uint64_t comp_mask; -+ uint32_t comp_mask; - enum ibv_srq_type srq_type; - struct ibv_pd *pd; - struct ibv_xrcd *xrcd; -@@ -1052,8 +1052,17 @@ static inline struct ibv_srq * - ibv_create_srq_ex(struct ibv_context *context, - struct ibv_srq_init_attr_ex *srq_init_attr_ex) - { -- struct verbs_context *vctx = verbs_get_ctx_op(context, create_srq_ex); -- if (!vctx) { -+ struct verbs_context *vctx; -+ uint64_t mask = srq_init_attr_ex->comp_mask; -+ -+ if (!(mask & ~(IBV_SRQ_INIT_ATTR_PD | IBV_SRQ_INIT_ATTR_TYPE)) && -+ (mask & IBV_SRQ_INIT_ATTR_PD) && -+ (!(mask & IBV_SRQ_INIT_ATTR_TYPE) || -+ (srq_init_attr_ex->srq_type == IBV_SRQT_BASIC))) -+ return ibv_create_srq(srq_init_attr_ex->pd, -+ (struct ibv_srq_init_attr *) srq_init_attr_ex); -+ -+ if (!(vctx = verbs_get_ctx_op(context, create_srq_ex))) { - errno = ENOSYS; - return NULL; - } diff --git a/patches/srq_ex b/patches/srq_ex index 50cdbc5..a97c76b 100644 --- a/patches/srq_ex +++ b/patches/srq_ex @@ -1,5 +1,5 @@ Bottom: 50fe62a5135102a5b41345c318cadbad44e6e872 -Top: e3951de5404ebe328b74eca777759390793e2b6b +Top: 2524e29d2e369a9ff026f617bd9b1d60640fa84f Author: Sean Hefty Date: 2012-09-17 12:34:55 -0700 @@ -123,7 +123,7 @@ index d7c673f..3d72fa7 100644 struct ibv_destroy_cq_v1 { diff --git a/include/infiniband/verbs.h b/include/infiniband/verbs.h -index ca330e0..82e8da9 100644 +index ca330e0..47ec63c 100644 --- a/include/infiniband/verbs.h +++ b/include/infiniband/verbs.h @@ -415,6 +415,30 @@ struct ibv_srq_init_attr { @@ -147,7 +147,7 @@ index ca330e0..82e8da9 100644 + void *srq_context; + struct ibv_srq_attr attr; + -+ uint64_t comp_mask; ++ uint32_t comp_mask; + enum ibv_srq_type srq_type; + struct ibv_pd *pd; + struct ibv_xrcd *xrcd; @@ -167,7 +167,7 @@ index ca330e0..82e8da9 100644 struct ibv_xrcd * (*open_xrcd)(struct ibv_context *context, int fd, int oflags); int (*close_xrcd)(struct ibv_xrcd *xrcd); -@@ -1021,6 +1048,18 @@ static inline int ibv_req_notify_cq(struct ibv_cq *cq, int solicited_only) +@@ -1021,6 +1048,27 @@ 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); @@ -175,8 +175,17 @@ index ca330e0..82e8da9 100644 +ibv_create_srq_ex(struct ibv_context *context, + struct ibv_srq_init_attr_ex *srq_init_attr_ex) +{ -+ struct verbs_context *vctx = verbs_get_ctx_op(context, create_srq_ex); -+ if (!vctx) { ++ struct verbs_context *vctx; ++ uint64_t mask = srq_init_attr_ex->comp_mask; ++ ++ if (!(mask & ~(IBV_SRQ_INIT_ATTR_PD | IBV_SRQ_INIT_ATTR_TYPE)) && ++ (mask & IBV_SRQ_INIT_ATTR_PD) && ++ (!(mask & IBV_SRQ_INIT_ATTR_TYPE) || ++ (srq_init_attr_ex->srq_type == IBV_SRQT_BASIC))) ++ return ibv_create_srq(srq_init_attr_ex->pd, ++ (struct ibv_srq_init_attr *) srq_init_attr_ex); ++ ++ if (!(vctx = verbs_get_ctx_op(context, create_srq_ex))) { + errno = ENOSYS; + return NULL; + } @@ -186,7 +195,7 @@ index ca330e0..82e8da9 100644 /** * ibv_modify_srq - Modifies the attributes for the specified SRQ. * @srq: The SRQ to modify. -@@ -1045,6 +1084,16 @@ int ibv_modify_srq(struct ibv_srq *srq, +@@ -1045,6 +1093,16 @@ int ibv_modify_srq(struct ibv_srq *srq, */ int ibv_query_srq(struct ibv_srq *srq, struct ibv_srq_attr *srq_attr); -- 2.46.0