Version: 1
-Previous: a6eecc16e7021daf7f3f088de328bf833795ffc0
-Head: 96d204753f2d1a48cb8ee01a32ab09ae411cb03f
+Previous: 34b5470f82790110919e5e311673c9ac2bd390b8
+Head: 28629968c68f29f3cddd04f51d03804507587887
Applied:
destroy_cqs: 66410c265b2661e16b7f6126bcc4ea5c7e1af1bd
conn-err: ac46465ae6061b06f005ba9b49b371c9eb0d2325
rs-def-qpsize: 2fa74d987f14bf98bc599287a3eea8e008275f34
rs-1sge: 4c75264faedfa3aa871d7a2326f268fc8e34cd14
rs-def-inline: 96d204753f2d1a48cb8ee01a32ab09ae411cb03f
+ rs-with-acm: 28629968c68f29f3cddd04f51d03804507587887
Unapplied:
Hidden:
--- /dev/null
+Bottom: caec06cc45592384f2a93faf3ca4f4571b1481ff
+Top: caec06cc45592384f2a93faf3ca4f4571b1481ff
+Author: Sean Hefty <sean.hefty@intel.com>
+Date: 2012-05-25 10:48:47 -0700
+
+librdmacm: Delay ACM connection until resolving an address
+
+When ACM support is enabled, the librdmacm will attempt to connect
+to the ACM service during startup. This results in the library
+hanging when rsockets are being used with the rs-preload library.
+The code path ends up as:
+
+socket() -> rs-preload redirects to rsocket()
+rsocket() -> rdma_create_id() -> ucma_init()
+ucma_init() acquires mutex -> calls socket()
+rs-preload() redirects call to rsocket()
+rsocket() -> rdma_create_id() -> ucma_init()
+ucma_init() hangs trying to acquire mutex
+
+This problem was pointed out by Chet Murthy <chet@watson.ibm.com>.
+
+To fix this, delay connecting to the ACM service until it's
+actually needed. This not only avoids the hang described above,
+but also avoids creating a connection to the ACM service when
+it's not needed. For example, if the user of the librdmacm
+is a server application, it will not use ACM services.
+
+Signed-off-by: Sean Hefty <sean.hefty@intel.com>
+
+
+---
+
+