Need to adjust minimum qp capability values prior to size and max resource
calculations.
Correct the rq values afterwards (as before) if have an srq.
Signed-off-by: Jack Morgenstein <[EMAIL PROTECTED]>
Index: new_connectx_user/src/userspace/libmlx4/src/verbs.c
===================================================================
--- new_connectx_user.orig/src/userspace/libmlx4/src/verbs.c 2007-06-18
09:33:04.000000000 +0300
+++ new_connectx_user/src/userspace/libmlx4/src/verbs.c 2007-06-19
09:47:10.000000000 +0300
@@ -355,6 +355,12 @@ struct ibv_qp *mlx4_create_qp(struct ibv
if (!qp)
return NULL;
+ /* adjust minimum cap values */
+ attr->cap.max_recv_wr = attr->cap.max_recv_wr ? attr->cap.max_recv_wr :
1;
+ attr->cap.max_recv_sge = attr->cap.max_recv_sge ?
attr->cap.max_recv_sge : 1;
+ attr->cap.max_send_wr = attr->cap.max_send_wr ? attr->cap.max_send_wr :
1;
+ attr->cap.max_send_sge = attr->cap.max_send_sge ?
attr->cap.max_send_sge : 1;
+
mlx4_calc_sq_wqe_size(&attr->cap, attr->qp_type, qp);
/*
@@ -366,9 +372,7 @@ struct ibv_qp *mlx4_create_qp(struct ibv
qp->rq.wqe_cnt = align_queue_size(attr->cap.max_recv_wr);
if (attr->srq)
- attr->cap.max_recv_wr = qp->rq.wqe_cnt = 0;
- else if (attr->cap.max_recv_sge < 1)
- attr->cap.max_recv_sge = 1;
+ attr->cap.max_recv_wr = attr->cap.max_recv_sge = qp->rq.wqe_cnt
= 0;
if (mlx4_alloc_qp_buf(pd, &attr->cap, attr->qp_type, qp))
goto err;
_______________________________________________
general mailing list
[email protected]
http://lists.openfabrics.org/cgi-bin/mailman/listinfo/general
To unsubscribe, please visit http://openib.org/mailman/listinfo/openib-general