Applied in 2166, thank you.
> -----Original Message----- > From: [email protected] > [mailto:[email protected]] On Behalf Of Sean Hefty > Sent: Saturday, May 09, 2009 1:00 AM > To: [email protected] > Subject: [ofw] [PATCH] hca/wv: set max inline data during QP creation > > Pass through the user's specified max inline data value when > creating a QP. > Currently, if the user specifies a value, it gets ignored > when the QP is created. The inline data value supported is > then returned to the user, which may be less than requested. > > This fixes a failure running dtest over mthca adapters. Mlx4 > adapters end up working for userspace apps because the > max_inline_data is passed from the UVP to the kernel via the > UMV buffer. However, for completeness, fixup kernel calls > for QP creation from IBAL for mlx4. > > Signed-off-by: Sean Hefty <[email protected]> > --- > It looks like all existing calls to create QPs through IBAL > zero the QP creation attributes, so max_inline_data appears > to always be initialized. > > Index: hw/mlx4/kernel/hca/qp.c > =================================================================== > --- hw/mlx4/kernel/hca/qp.c (revision 2100) > +++ hw/mlx4/kernel/hca/qp.c (working copy) > @@ -135,7 +135,7 @@ > qp_init_attr.cap.max_send_sge = p_create_attr->sq_sge; > qp_init_attr.cap.max_recv_wr = p_create_attr->rq_depth; > qp_init_attr.cap.max_send_wr = p_create_attr->sq_depth; > - qp_init_attr.cap.max_inline_data = 0; /* > absent in IBAL */ > + qp_init_attr.cap.max_inline_data = > p_create_attr->sq_max_inline; > } > qp_init_attr.sq_sig_type = (p_create_attr->sq_signaled) ? > IB_SIGNAL_ALL_WR : IB_SIGNAL_REQ_WR; > qp_init_attr.qp_type = to_qp_type(p_create_attr->qp_type); > Index: hw/mthca/kernel/hca_verbs.c > =================================================================== > --- hw/mthca/kernel/hca_verbs.c (revision 2100) > +++ hw/mthca/kernel/hca_verbs.c (working copy) > @@ -1050,6 +1050,7 @@ > qp_init_attr.recv_cq = (struct ib_cq *)p_create_attr->h_rq_cq; > qp_init_attr.send_cq = (struct ib_cq *)p_create_attr->h_sq_cq; > qp_init_attr.srq = (struct ib_srq *)p_create_attr->h_srq; > + qp_init_attr.cap.max_inline_data = p_create_attr->sq_max_inline; > qp_init_attr.cap.max_recv_sge = p_create_attr->rq_sge; > qp_init_attr.cap.max_send_sge = p_create_attr->sq_sge; > qp_init_attr.cap.max_recv_wr = p_create_attr->rq_depth; > Index: core/winverbs/kernel/wv_qp.c > =================================================================== > --- core/winverbs/kernel/wv_qp.c (revision 2100) > +++ core/winverbs/kernel/wv_qp.c (working copy) > @@ -47,6 +47,7 @@ > pVerbsAttr->h_srq = (pQp->pSrq != NULL) ? > pQp->pSrq->hVerbsSrq : NULL; > > pVerbsAttr->qp_type = (ib_qp_type_t) pAttr->QpType; > + pVerbsAttr->sq_max_inline = pAttr->MaxInlineSend; > pVerbsAttr->sq_depth = pAttr->SendDepth; > pVerbsAttr->rq_depth = pAttr->ReceiveDepth; > pVerbsAttr->sq_sge = pAttr->SendSge; > > _______________________________________________ > ofw mailing list > [email protected] > http://lists.openfabrics.org/cgi-bin/mailman/listinfo/ofw > _______________________________________________ ofw mailing list [email protected] http://lists.openfabrics.org/cgi-bin/mailman/listinfo/ofw
