[openib-general] [PATCH] ib_cancel_mad API

Roland Dreier roland at topspin.com
Wed Sep 29 16:58:12 PDT 2004


    Fab> If deregistration is synchronous then as long as the MAD
    Fab> layer keeps reference counts for outstanding sends, the
    Fab> client does not need to.  The client is guaranteed that their
    Fab> send callback will not be called after deregistration
    Fab> completes.

I agree that deregistering an agent is fine with the current API.

    Fab> As Sean mentioned, it's simpler for clients to know they will
    Fab> *always* get a send completion regardless of status.  It
    Fab> allows them to do all the send completion processing in their
    Fab> handler, rather than having it split between the send handler
    Fab> and the cancel logic.

    Fab> In fact, I'd just rather remove the return value all together
    Fab> - what can a client do with the return value that they
    Fab> wouldn't know from the status reported to the send handler?

The problem with Sean's proposed API for canceling a single MAD send
is that it's not synchronous.  So clients have to wait for the
callback of the send they want to cancel.  I agree that as it stands
the return value is not useful because no matter what it is, a
completion may or may not come after the cancel call returns.

 - Roland



More information about the general mailing list