[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