>-----Original Message----- >From: Hefty, Sean >Sent: Friday, December 03, 2010 3:42 PM >To: Davis, Arlin R; linux-rdma; [email protected] >Cc: Smith, Stan >Subject: RE: [PATCH] DAPL v2.0: cma: disconnect can block for excessive times >waiting for rdma_cm DREP >timeout > >> @@ -636,13 +637,29 @@ dapls_ib_disconnect(IN DAPL_EP * ep_ptr, IN >> DAT_CLOSE_FLAGS close_flags) >> >> /* ABRUPT close, wait for callback and DISCONNECTED state */ >> if (close_flags == DAT_CLOSE_ABRUPT_FLAG) { >> + DAPL_EVD *evd = NULL; >> + DAT_EVENT_NUMBER num = DAT_CONNECTION_EVENT_DISCONNECTED; >> + >> dapl_os_lock(&ep_ptr->header.lock); >> - while (ep_ptr->param.ep_state != DAT_EP_STATE_DISCONNECTED) { >> + /* limit DREP waiting, other side could be down */ >> + while (--drep_time && ep_ptr->param.ep_state != >> DAT_EP_STATE_DISCONNECTED) { >> dapl_os_unlock(&ep_ptr->header.lock); >> dapl_os_sleep_usec(10000); > >gak - can't you wait on an event using some timeout interval? >
if rdma_cm would give me separate timeout interval choices for connect requests and disconnect requests than by all means I would use it for this abrupt disconnect timeout/retry interval. _______________________________________________ ofw mailing list [email protected] http://lists.openfabrics.org/cgi-bin/mailman/listinfo/ofw
