Fix issue where messages could start arriving before the window was
fully initialized, especially during lock/unlock, which doesn't use MPI collectives for synchronization (unlike Fence) This commit was SVN r12676.
Этот коммит содержится в:
родитель
b5b6f4c4bf
Коммит
bc3250fe6f
@ -24,6 +24,7 @@
|
||||
#include "ompi/win/win.h"
|
||||
#include "ompi/communicator/communicator.h"
|
||||
#include "ompi/mca/btl/btl.h"
|
||||
#include "ompi/mca/osc/base/base.h"
|
||||
#include "mpi.h"
|
||||
|
||||
|
||||
@ -38,6 +39,9 @@ ompi_osc_rdma_module_free(ompi_win_t *win)
|
||||
opal_progress();
|
||||
}
|
||||
|
||||
opal_output_verbose(50, ompi_osc_base_output,
|
||||
"Finalizing window %d", module->p2p_comm->c_contextid);
|
||||
|
||||
/* finish with a barrier */
|
||||
if (ompi_group_size(win->w_group) > 1) {
|
||||
ret = module->p2p_comm->c_coll.coll_barrier(module->p2p_comm);
|
||||
|
@ -419,13 +419,12 @@ ompi_osc_rdma_component_select(ompi_win_t *win,
|
||||
NULL);
|
||||
}
|
||||
|
||||
|
||||
if (module->p2p_eager_send) {
|
||||
/* need to barrier if eager sending or we can receive before the
|
||||
other side has been fully setup, causing much gnashing of
|
||||
teeth. */
|
||||
/* need to make create a collective, or lock requests can come in
|
||||
before the window is fully created... */
|
||||
module->p2p_comm->c_coll.coll_barrier(module->p2p_comm);
|
||||
}
|
||||
|
||||
opal_output_verbose(50, ompi_osc_base_output,
|
||||
"created window %d", module->p2p_comm->c_contextid);
|
||||
|
||||
return ret;
|
||||
}
|
||||
|
Загрузка…
x
Ссылка в новой задаче
Block a user