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 bb755b5c68362cc472a13a1af4aab1ada720664f (commit) from ca2d0bca0ac10a7ac411bdd6ad128ad6a2f2bd65 (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/bb755b5c68362cc472a13a1af4aab1ada7... commit bb755b5c68362cc472a13a1af4aab1ada720664f Author: Wesley Bland <[email protected]> Date: Mon Jan 27 14:11:33 2014 -0600 Moves the tag reservation to MPI layer Resets MPIDI_TAG_UB back to 0x7fffffff. This value was changed a while back, but the change should have happened at the MPI layer instead of the CH3 layer. This resets the value to allow CH3 to use the tag space. Instead, the value is now set in the MPI layer during initthread. This means that it will be safe regardless of the device being used. This prevents a collision that was occurring on the pamid device where the values for MPIR_TAG_ERROR_BIT and the MPIR_Process.attr.tagged_coll_mask values were the same. Fixes #2008 Signed-off-by: Pavan Balaji <[email protected]> diff --git a/src/mpi/init/initthread.c b/src/mpi/init/initthread.c index 231e214..413043c 100644 --- a/src/mpi/init/initthread.c +++ b/src/mpi/init/initthread.c @@ -469,8 +469,10 @@ int MPIR_Init_thread(int * argc, char ***argv, int required, int * provided) /* Assert: tag_ub should be a power of 2 minus 1 */ MPIU_Assert(((unsigned)MPIR_Process.attrs.tag_ub & ((unsigned)MPIR_Process.attrs.tag_ub + 1)) == 0); - /* Set aside tag space for tagged collectives */ - MPIR_Process.attrs.tag_ub >>= 1; + /* Set aside tag space for tagged collectives and failure notification */ + MPIR_Process.attrs.tag_ub >>= 2; + /* The bit for error checking is set in a macro in mpiimpl.h for + * performance reasons. */ MPIR_Process.tagged_coll_mask = MPIR_Process.attrs.tag_ub + 1; /* Assert: tag_ub is at least the minimum asked for in the MPI spec */ diff --git a/src/mpid/ch3/include/mpidpre.h b/src/mpid/ch3/include/mpidpre.h index 4d93ae4..786cdd8 100644 --- a/src/mpid/ch3/include/mpidpre.h +++ b/src/mpid/ch3/include/mpidpre.h @@ -123,7 +123,7 @@ typedef union { * macros to set/access this bit are in src/include/mpiimpl.h. If the * location of this bit changes, those macros also need to be adjusted. */ -#define MPIDI_TAG_UB (0x3fffffff) +#define MPIDI_TAG_UB (0x7fffffff) /* Provides MPIDI_CH3_Pkt_t. Must come after MPIDI_Message_match definition. */ #include "mpidpkt.h" ----------------------------------------------------------------------- Summary of changes: src/mpi/init/initthread.c | 6 ++++-- src/mpid/ch3/include/mpidpre.h | 2 +- 2 files changed, 5 insertions(+), 3 deletions(-) hooks/post-receive -- MPICH primary repository