[openib-general] Re: libibverbs and max inline data

James Lentini jlentini at netapp.com
Mon May 23 10:48:19 PDT 2005



On Mon, 23 May 2005, Roland Dreier wrote:

>    James> Once there is a way to programmatically determine the
>    James> max_inline_data value, your proposal would be
>    James> feasible. Even if it were possible, I still believe that
>    James> the driver should validate this value.
>
> I think you may be misunderstanding the suggestion.  The idea is that
> the driver takes the input value of max_inline_data as a hint, and
> tries to allocate a QP that supports that value.  However, if the
> value is too large, the driver reduces the value down to the largest
> value that it can support.

I don't think this is true:

> In any case, the true amount of inline data supported is returned to 
> the consumer in the qp_cap structure.

When I look at mthca_create_qp, the last part of the function is:

         if (err) {
                 kfree(qp);
                 return ERR_PTR(err);
         }

         init_attr->cap.max_inline_data = 0;
         init_attr->cap.max_send_wr     = qp->sq.max;
         init_attr->cap.max_recv_wr     = qp->rq.max;
         init_attr->cap.max_send_sge    = qp->sq.max_gs;
         init_attr->cap.max_recv_sge    = qp->rq.max_gs;

         return &qp->ibqp;
}

So if there was an error, the function return without updating the 
user's cap values. Is this a bug?



More information about the general mailing list