Do memory barriers at proper places in RMA sync calls.
We call memory barriers at proper places in RMA sync calls as following, and remove unnecessary memory barriers: (1) Win_fence: very beginning and very end. (2) Win_post/Win_complete: very beginning. (3) Win_start/Win_wait/Win_test: very end. (4) Win_lock/Win_lock_all: very end. (5) Win_unlock/Win_unlock_all: very beginning. (6) Win_flush/Win_flush_local/Win_flush_all/Win_flush_local_all: very beginning. About the reason of doing this, please refer to comments at the beginning of src/mpid/ch3/src/ch3u_rma_sync.c. No reviewer.
Showing with 46 additions and 42 deletions