Version: 1
-Previous: 176dc060b3f8c02a1733271b16b2290c56ef8316
-Head: ecd5395a7b01e0bd289cf381f38097e34ff315fa
+Previous: 31432f8905210cef75d6ddcce5b416425309519d
+Head: 0b22f219482a20e53f28d2382d42a4ed53559030
Applied:
cma-rm-pd: 2ffda7f2991395570b9e776ff5ae256ca9684771
transpose: 3e52eb22f44eafaefa95c4674bc5665a94e15694
rstream-fork: a1d261650896286989c5197199da7729b3d61fa5
init-getname: 7d988863b218d1b66e3739ec4b6f51acc72b2334
rs-ftp: 28e0744eb89227fbeded485fbad64010b9edf0f6
- mpi-finalize: 48869e2516ff5e646795c8ea875a19843da2c9ae
- refresh-temp: ecd5395a7b01e0bd289cf381f38097e34ff315fa
+ mpi-finalize: 0b22f219482a20e53f28d2382d42a4ed53559030
Unapplied:
dbg: 0c269855776d3001e37da8c8afe283c20e1d6cd6
waitall-buggy: c49c6b56c55385774065f5aa2704078e6ae0ceb8
Author: Sean Hefty <sean.hefty@intel.com>
Date: 2012-07-26 15:35:32 -0700
-rsockets: Fix shutdown
+rsockets: Use wr_id to determine completion type
-mpi finalize hangs - fix it
+If a work request has completed in error, the completion type
+field is undefined. Use the wr_id to determine if the failed
+completion was a send or receive.
+
+This fixes an issue where MPI can hang during finalize. With
+both sides of a connection shutting down simultaneously, one
+side may complete quicker and delete its QP before the other
+side receives an acknowledgement to their disconnect message.
+Eventually, the disconnect message will time out, but because
+the completion type field is undefined, it may be processed
+as a failed receive, rather than a failed send. The end
+result is that the second side hangs waiting for the send to
+complete.
Signed-off-by: Sean Hefty <sean.hefty@intel.com>
+++ /dev/null
-Bottom: 34a422e20b6864421c4dcbf249875027c9956b02
-Top: 34a422e20b6864421c4dcbf249875027c9956b02
-Author: Sean Hefty <sean.hefty@intel.com>
-Date: 2012-07-26 23:25:04 -0700
-
-Refresh of mpi-finalize
-
----
-
-