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 1e51b91103ffb101586135c3ac49d4c0b53b6c2d (commit) from ee2f29508c93d5b37a979c0b0820a5401b6b69f8 (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/1e51b91103ffb101586135c3ac49d4c0b5... commit 1e51b91103ffb101586135c3ac49d4c0b53b6c2d Author: Hajime Fujita <[email protected]> Date: Fri Aug 5 16:04:10 2016 -0500 CH4/OFI: Use regular EP for RMA instead of alias It turns out that using an endpoint from fi_ep_alias would incur additional redirection. This patch eliminates the use of fi_ep_alias in RMA window creation to avoid this potential cost. Fixes csr/mpich-opa#394 Signed-off-by: Ken Raffenetti <[email protected]> diff --git a/src/mpid/ch4/netmod/ofi/ofi_win.h b/src/mpid/ch4/netmod/ofi/ofi_win.h index 2975845..2bb045d 100644 --- a/src/mpid/ch4/netmod/ofi/ofi_win.h +++ b/src/mpid/ch4/netmod/ofi/ofi_win.h @@ -154,12 +154,14 @@ static inline int MPIDI_OFI_win_init_generic(MPI_Aint length, MPIR_Assert(finfo); finfo->ep_attr->tx_ctx_cnt = FI_SHARED_CONTEXT; /* Request a shared context */ MPIDI_OFI_CALL_RETURN(fi_endpoint(MPIDI_Global.domain, - finfo, &MPIDI_OFI_WIN(win).ep, NULL), ret); - fi_freeinfo(finfo); + finfo, + &MPIDI_OFI_WIN(win).ep, + NULL), ret); if (ret < 0) { MPL_DBG_MSG(MPIDI_CH4_DBG_GENERAL, VERBOSE, "Failed to create per-window EP (with completion), " "falling back to global EP/counter scheme"); + fi_freeinfo(finfo); goto fallback_global; } @@ -180,8 +182,11 @@ static inline int MPIDI_OFI_win_init_generic(MPI_Aint length, FI_READ | FI_WRITE), bind); MPIDI_OFI_CALL(fi_ep_bind(MPIDI_OFI_WIN(win).ep, &MPIDI_Global.av->fid, 0), bind); - MPIDI_OFI_CALL_RETURN(fi_ep_alias(MPIDI_OFI_WIN(win).ep, &MPIDI_OFI_WIN(win).ep_nocmpl, - FI_TRANSMIT), ret); + MPIDI_OFI_CALL_RETURN(fi_endpoint(MPIDI_Global.domain, + finfo, + &MPIDI_OFI_WIN(win).ep_nocmpl, + NULL), ret); + fi_freeinfo(finfo); if (ret < 0) { MPL_DBG_MSG(MPIDI_CH4_DBG_GENERAL, VERBOSE, "Failed to create an EP alias, " @@ -191,6 +196,14 @@ static inline int MPIDI_OFI_win_init_generic(MPI_Aint length, goto fallback_global; } + MPIDI_OFI_CALL(fi_ep_bind(MPIDI_OFI_WIN(win).ep_nocmpl, + &MPIDI_Global.stx_ctx->fid, 0), bind); + MPIDI_OFI_CALL(fi_ep_bind(MPIDI_OFI_WIN(win).ep_nocmpl, + &MPIDI_OFI_WIN(win).cmpl_cntr->fid, + FI_READ | FI_WRITE), bind); + MPIDI_OFI_CALL(fi_ep_bind(MPIDI_OFI_WIN(win).ep_nocmpl, + &MPIDI_Global.av->fid, 0), bind); + MPIDI_OFI_CALL(fi_enable(MPIDI_OFI_WIN(win).ep), ep_enable); MPIDI_OFI_CALL(fi_enable(MPIDI_OFI_WIN(win).ep_nocmpl), ep_enable); } ----------------------------------------------------------------------- Summary of changes: src/mpid/ch4/netmod/ofi/ofi_win.h | 21 +++++++++++++++++---- 1 files changed, 17 insertions(+), 4 deletions(-) hooks/post-receive -- MPICH primary repository