[openib-general] Re: ib_mad.c comments
Sean Hefty
mshefty at ichips.intel.com
Mon Sep 13 10:07:55 PDT 2004
On Fri, 10 Sep 2004 20:12:16 -0400
Hal Rosenstock <halr at voltaire.com> wrote:
> > I used struct ib_qp* inside the ib_mad_agent for QP redirection purposes,
> > and allows them to query the QP for its attributes, such as the number of
> > supported SGEs.
>
> But the client doesn't get the mad_agent pointer until it registers.
ib_mad_reg(ister? :) is used to send/receive MADs on QP 0 or 1. ib_mad_qp_redir is used to send/receive MADs on a different QP. Both calls return the mad_agent pointer, but in the case of ib_mad_qp_redir, the qp pointer references the qp specified by the API.
> I was thinking this (separate receive lists for QPs 0 and 1) but was not
> quite there. I will now be doing this shortly. This also seems to mean a
> list for every redirected QP too :-( That is a future item.
I'm not sure that we need to maintain lists for redirected QPs. The user owns posting the receives on that QP, so will have set the wr_id to something use for them. When the redirected QP is destroyed, the user should get completions for all posted receives.
For QP0/1, the access layer owns the receive lists, so should be able to set the wr_id to whatever it needs in order to recover the buffers.
> > We spoke about this some yesterday, but for others on the list, I think that the current
> > implementation of ib_post_send needs to be moved down and renamed. A call to ib_post_send
> > could then call that routine and take whatever action is appropriate to handle an overrun case,
> > such as queuing the request, ignoring the overrun, etc.
>
> Do you mean ib_mad_post_send rather than ib_post_send ?
I did... yes
More information about the general
mailing list