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?
_______________________________________________
openib-general mailing list
[email protected]
http://openib.org/mailman/listinfo/openib-general

To unsubscribe, please visit http://openib.org/mailman/listinfo/openib-general

Reply via email to