[openib-general] RFC: detecting duplicate MAD requests

Sean Hefty sean.hefty at intel.com
Fri Apr 28 15:20:13 PDT 2006


Today, a request MAD received by the MAD layer is handed to a client.  The
client processes the MAD, and generates a response.  If the client is slow to
process the MAD, the request may have been resent.  The duplicate request is
also handed to the client.  The result is that clients perform duplicate
processing of the MAD or must detect the duplicates themselves.

I'd like to propose that the MAD layer detect duplicate requests.  After a
request MAD has been handed to a client, its context would be maintained until
the user calls ib_free_recv_mad(), allowing duplicate requests to be discarded.

One drawback to this approach are that the MAD layer may discard a MAD as a
duplicate that wasn't, but I'm not sure if this would happen in practice.  A
second drawback is that the receive MAD would need to be kept around until the
send completed (as opposed to the send started).  

Finally, a way would need to be found for when to call ib_free_recv_mad() for
userspace clients.

- Sean



More information about the general mailing list