This is an automated email from the git hooks/post-receive script. It was generated because a ref change was pushed to the repository containing the project "MPICH primary repository". The branch, master has been updated via 2479d8922a29cb9c000aaef9c5d8e29bccbd931e (commit) from 9d53f02b923994a31e54d294aa2f81ebe289aa37 (commit) Those revisions listed above that are new to this repository have not appeared on any other notification email; so we list those revisions in full, below. - Log ----------------------------------------------------------------- http://git.mpich.org/mpich.git/commitdiff/2479d8922a29cb9c000aaef9c5d8e29bcc... commit 2479d8922a29cb9c000aaef9c5d8e29bccbd931e Author: Min Si <[email protected]> Date: Mon Sep 22 13:15:40 2014 -0500 Added mb in flush handler. Resolves #2177. Since flush call guarantees the completion of operations on target side, a memory barrier on target side is necessary in order to ensure all store instructions are exactly performed before that flush call finished on origin side. Signed-off-by: Xin Zhao <[email protected]> diff --git a/src/mpid/ch3/src/ch3u_rma_sync.c b/src/mpid/ch3/src/ch3u_rma_sync.c index 3e2daf0..918423f 100644 --- a/src/mpid/ch3/src/ch3u_rma_sync.c +++ b/src/mpid/ch3/src/ch3u_rma_sync.c @@ -6205,6 +6205,10 @@ int MPIDI_CH3_Finish_rma_op_target(MPIDI_VC_t *vc, MPID_Win *win_ptr, int is_rma MPIDI_CH3_Progress_signal_completion(); } else if (flags & MPIDI_CH3_PKT_FLAG_RMA_FLUSH) { + /* Ensure store instructions have been performed before flush call is + * finished on origin process. */ + OPA_read_write_barrier(); + if (flags & MPIDI_CH3_PKT_FLAG_RMA_REQ_ACK) { MPIDI_CH3_Pkt_t upkt; MPIDI_CH3_Pkt_flush_t *flush_pkt = &upkt.flush; ----------------------------------------------------------------------- Summary of changes: src/mpid/ch3/src/ch3u_rma_sync.c | 4 ++++ 1 files changed, 4 insertions(+), 0 deletions(-) hooks/post-receive -- MPICH primary repository