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

Reply via email to