[openib-general] ib_mad.c comments

Sean Hefty mshefty at ichips.intel.com
Mon Sep 13 10:54:07 PDT 2004


On Mon, 13 Sep 2004 13:22:16 -0400
Hal Rosenstock <halr at voltaire.com> wrote:

> On Mon, 2004-09-13 at 12:51, Sean Hefty wrote:
> > Personally, for an initial implementation, I'd just go with 
> > posting work requests, and generate completions for sends that 
> > cannot be posted.  This should be fairly trivial to implement, 
> > yet still work.
> The two implementation "issues" I see with this approach are:
> 1. Which completion code to hand back ? Is IB_WC_GENERAL_ERR the best
> one ? This is a nit.
> 2. The context for the callback might be different between the overrun
> of post send and a real send completion. If this would cause extra code
> to be written to handle this, I would just prefer to hand back the
> post_send error for now as this is not expected to be the normal case. I
> will handle deferred sends once things are basically working. 

To clarify:

A user would call ib_mad_post_send.  Internally, if the call failed because of an overrun, we would simply return success.  This would be true even if the MAD were queued.

Internally, after posting the send or not, we would track the send as normal (do RMPP, wait for timeouts, etc.).  After any timeout, we would invoke the user's send_handler to complete the MAD.

If we later change the implementation to queue the send work requests, nothing changes from the user's perspective.

I can help write up the code for this, but probably wouldn't be able to start on it for a couple of day.  I'm just trying to think of what we can do that would work and would consist of quick, but reasonable implementation.



More information about the general mailing list