From 53e1e9d2a1d1a477cf124f176296d6564d0b69cb Mon Sep 17 00:00:00 2001 From: Artem Polyakov Date: Mon, 19 Sep 2016 10:16:50 +0300 Subject: [PATCH] ompi/mpi_init: fix barrier Relax CPU usage pressure from the application processes when doing modex and barrier in ompi_mpi_init. We see significant latencies in SLURM/pmix plugin barrier progress because app processes are aggressively call opal_progress pushing away daemon process doing collective progress. (cherry-ported from 08618845a4de7ce7010f3ad0cb65aa7b4bf39fe1) Signed-off-by: Artem Polyakov --- ompi/runtime/ompi_mpi_init.c | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/ompi/runtime/ompi_mpi_init.c b/ompi/runtime/ompi_mpi_init.c index cba4d776a74..277a2de55d5 100644 --- a/ompi/runtime/ompi_mpi_init.c +++ b/ompi/runtime/ompi_mpi_init.c @@ -639,7 +639,7 @@ int ompi_mpi_init(int argc, char **argv, int requested, int *provided) if (NULL != opal_pmix.fence_nb) { opal_pmix.fence_nb(NULL, opal_pmix_collect_all_data, fence_release, (void*)&active); - OMPI_WAIT_FOR_COMPLETION(active); + OMPI_LAZY_WAIT_FOR_COMPLETION(active); } else { opal_pmix.fence(NULL, opal_pmix_collect_all_data); } @@ -809,7 +809,7 @@ int ompi_mpi_init(int argc, char **argv, int requested, int *provided) if (NULL != opal_pmix.fence_nb) { opal_pmix.fence_nb(NULL, opal_pmix_collect_all_data, fence_release, (void*)&active); - OMPI_WAIT_FOR_COMPLETION(active); + OMPI_LAZY_WAIT_FOR_COMPLETION(active); } else { opal_pmix.fence(NULL, opal_pmix_collect_all_data); }