[openib-general] [PATCH] Initial CM implementation
Roland Dreier
roland at topspin.com
Mon Jan 17 12:39:27 PST 2005
Just a quick read through, more comments later:
int local_cm_response_timeout:5;
int flow_control:1;
These should be "unsigned," not "int." A signed 1-bit int doesn't
make much sense, and I think you'll probably run into sign trouble if
someone passes a local_cm_response_timeout of 20 or something for the
5-bit field.
In cm_send_handler(), you have:
case IB_WC_RESP_TIMEOUT_ERR:
cm_process_send_timeout(msg);
break;
but can this ever happen? I thought that the MAD layer always treated
CM MADs as unsolicited which means that responses are not matched with
requests so timeouts don't happen. Or am I misunderstanding the MAD
layer semantics?
I see a lot of setting of state to TIMEWAIT, but I don't see where the
TIMEWAIT timeout happens.
TIMEWAIT handling should probably be done using the same cm.wq
workqueue as receive handling goes through -- this eliminates the
problem of connection setup starving timewait reaping that I mentioned
earlier.
- R.
More information about the general
mailing list