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

Reply via email to