diff --git a/ompi/mca/mtl/mx/mtl_mx.c b/ompi/mca/mtl/mx/mtl_mx.c index e5fb458b04..28af18938f 100644 --- a/ompi/mca/mtl/mx/mtl_mx.c +++ b/ompi/mca/mtl/mx/mtl_mx.c @@ -151,6 +151,16 @@ ompi_mtl_mx_add_procs(struct mca_mtl_base_module_t *mtl, mtl_peer_data[i] = (struct mca_mtl_base_endpoint_t*) mtl_mx_endpoint; } + + /* because mx_connect isn't an interupting function, need to + progress MX as often as possible during the stage gate 2. This + would have happened after the stage gate anyway, so we're just + speeding things up a bit. */ +#if OMPI_ENABLE_PROGRESS_THREADS == 0 + /* switch from letting us sit in the event library for a bit each + time through opal_progress() to completely non-blocking */ + opal_progress_set_event_flag(OPAL_EVLOOP_NONBLOCK); +#endif return OMPI_SUCCESS; }