[openib-general] agent_mad_send

Hal Rosenstock halr at voltaire.com
Wed Oct 27 06:47:25 PDT 2004


On Tue, 2004-10-26 at 18:29, Sean Hefty wrote:
> In agent_mad_send, a call is made to create an address handle.  
> Immediately after calling ib_post_send_mad, the address handle is destroyed.  
> I think that we want to wait until the send is completed before destroying 
> the address handle, and require this of all callers of ib_post_send_mad.

I can post a patch for this but this depends on whether the agent or MAD
layer should destroy the AH.

> Also, I don't think that we want to have this code access the port_priv 
> structure, such as the send_list_lock (which ends up being acquired twice).

The agent is using a different port_priv structure and send_list_lock
than the one the MAD layer uses. Where is it acquired twice ?
 
> Queuing of MADs should be done by the ib_post_send_mad call, 
> and not by its caller.  This will be needed to handle QP overflow anyway.
> Agent_send_handler has a similar issue.

The agent layer is queuing the send to release resources (PCI unmap and
free MAD memory) on send completion, not for retransmission on QP
overflow.

-- Hal




More information about the general mailing list