]> git.openfabrics.org - ~ardavis/dapl.git/commit
cma: disconnect can block for excessive times waiting for rdma_cm DREP timeout
authorArlin Davis <arlin.r.davis@intel.com>
Fri, 3 Dec 2010 18:25:46 +0000 (10:25 -0800)
committerArlin Davis <arlin.r.davis@intel.com>
Fri, 3 Dec 2010 18:25:46 +0000 (10:25 -0800)
commitc269c9ab83a72a2b4ffa972697b83572410d9cea
tree80a7fabb2bc88d18c4bb1522ee0cb5d3d17409b9
parent4c8275ce6d6243fab26e09bff4227db600197c30
cma: disconnect can block for excessive times waiting for rdma_cm DREP timeout

rdma_cm uses the same timeout values for connect and disconnect
request/reply. Disconnect abrupt option allows DAT consumers to
specify a prompt disconnect with immediate event. If the remote
node goes down or is non-responsive a CM disconnect event could
take minutes. Add a time limit waiting for event and move EP to
disconnected state to prevent callback from issuing duplicate
disconnect event via callback. The EP to CM linking will
cleanup/cancel any pending events before destroying cm_id.

Signed-off-by: Arlin Davis <arlin.r.davis@intel.com>
dapl/openib_cma/cm.c