Commit 242a9356 authored by Pavan Balaji's avatar Pavan Balaji
Browse files

Do a memory barrier at the end of a flushall.



The memory barrier ensures that all load/store operations issued
directly to shared memory are complete.
Signed-off-by: default avatarXin Zhao <xinzhao3@illinois.edu>
parent 231b2ce5
......@@ -2177,6 +2177,12 @@ int MPIDI_Win_flush_all(MPID_Win *win_ptr)
}
}
/* Ensure that all shared memory operations are flushed out. The memory
* barriers in the flush are not sufficient since we skip calling flush
* when all operations are already completed. */
if (win_ptr->shm_allocated == TRUE)
OPA_read_write_barrier();
fn_exit:
MPIDI_RMA_FUNC_EXIT(MPIDI_STATE_MPIDI_WIN_FLUSH_ALL);
return mpi_errno;
......
Markdown is supported
0% or .
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment