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
More information about the general