[openib-general] smpdump and current MAD layer

Sean Hefty mshefty at ichips.intel.com
Thu Dec 2 14:48:25 PST 2004


Hal Rosenstock wrote:
>>I'd like to place the snooping code in as few places as possible, but 
>>still be able to snoop locally processed MADs.  Ideally a MAD should be 
>>snooped exactly once, which requires some extra care when handling QP 
>>errors.  Snooping in the completion handling allows the MAD layer to 
>>own the thread that performs the callback.  Calling clients back on the 
>>outbound path puts the callback in an arbitrary thread context.
> 
> While there are arguments for snooping when the MAD is posted to the QP,
> I think it makes more sense to snoop it when it completes. In addition
> to the thread reason you cite, one could also pass the completion status
> which would give more information on what really happened (which might
> be useful). I don't see a need to instrument this more than once on the
> send side either.

It would be difficult to snoop all MADs without snooping in multiple 
locations.  For example, local MADs do not generate CQ entries, and are 
  completed from the sender's thread.  (I think we may want to change 
the threading at some point, so it may not matter long term.)  It's 
also not clear if a snooper would want to know if a request received a 
reply, snoop separate send completions in the case of RMPP, or snoop 
RMPP ACKs.  (For RMPP debugging, I want to snoop at the lowest level.)

Right now, I've tried to design the API/code to be fairly flexible 
about where snooping can occur (since I'm not sure where the best place 
to do this is), but will likely only snoop in one location (after 
completions).

- Sean



More information about the general mailing list