[openib-general] agent_mad_send
Hal Rosenstock
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 openib-general mailing list