Caitlin Bestler wrote:
The only sensible meaning for "backlog" is that it is a credit given by the application to the CMA. It is permission to make N callbacks with connection requests. Each callback decrements the credit. Each accept/reject restores a credit. This is totally analogous to having a single credit for how many in-flight requests a server allows a client to send, without any knowledge of how the client is structured internally or how that limit impacts the clients decisions.
This was the definition of backlog that I tried to push down into the IB CM. And while it sounds simple, it resulted in a complex implementation because of destruction issues. I don't remember all of the problems now, but it was along the lines of having the listen destroyed before or simultaneously with an associated connect request being accepted/rejected/destroyed. The same problems occur implementing backlog in the CMA.
For kernel clients that make use of a connection queue, backlog can be easily managed. Clients simply reject requests that they are not ready to handle.
- 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
