On Wed, 29 Sep 2004 13:12:36 -0700 Roland Dreier <[EMAIL PROTECTED]> wrote:
> OK, think about the following scenario. We're in ib_mad_complete_send_wr(): I understand the scenario that you're describing. I just think that we've made it easy as it can be for the client already. > and doesn't find the work request, since ib_mad_complete_send_wr() has > already removed it from the list, so it returns -EINVAL. > > The consumer says, "oh, OK, I have no pending requests so I can free > my context." Then the first thread continues and proceeds to call the > consumer's send_handler function. Currently, the consumer _only_ has to free their send context in their send MAD completion handler. No reference counting by the consumer is needed. And it doesn't matter if a send succeeds, timeouts, has an error, or is canceled. Clients that try to release their send contexts in both their send handlers and after calling cancel are asking for synchronization issues. If your refering to a client's mad_agent context, I don't believe that we can support clients who free their context before deregistering (at least not in most usage cases). - Sean _______________________________________________ openib-general mailing list [EMAIL PROTECTED] http://openib.org/mailman/listinfo/openib-general To unsubscribe, please visit http://openib.org/mailman/listinfo/openib-general
