[mpich-commits] [mpich] MPICH primary repository branch, master, updated. v3.2-368-gec30eb3
Service Account
noreply at mpich.org
Mon Jul 25 17:24:10 CDT 2016
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 ec30eb3ed2538801ceac2763ba0f81c400462063 (commit)
via 36a128747962564b0499fbe5db18de880152f47c (commit)
via cab988ed5e523f92814c7223f38a472a7f1ea770 (commit)
via a83721f6da89c1c05fb786da6020f790d7d0cfc4 (commit)
via 7df6a4a8474e71299bbd257ef4ef48f80ccba549 (commit)
via d803c979eba80b8a0705c718719e5b8035d44cf2 (commit)
via d9d88286385f2df24bb7832aa6ce2e544f0d0672 (commit)
via 08c588602b12fc0abf9ecf2667c5ba28cd60e55f (commit)
via 1227b993ca8664d3331157e87fb68bfd17ee9fea (commit)
from a9c78f27dd8d49a5a6ec05d563e965c8b8e141b8 (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/ec30eb3ed2538801ceac2763ba0f81c400462063
commit ec30eb3ed2538801ceac2763ba0f81c400462063
Author: Charles J Archer <charles.j.archer at intel.com>
Date: Wed Jul 20 12:41:17 2016 -0700
Remove unnecessary include
Signed-off-by: Ken Raffenetti <raffenet at mcs.anl.gov>
diff --git a/src/mpid/common/shm/mpidu_shm.h b/src/mpid/common/shm/mpidu_shm.h
index 2ce5a40..0f42f06 100644
--- a/src/mpid/common/shm/mpidu_shm.h
+++ b/src/mpid/common/shm/mpidu_shm.h
@@ -8,8 +8,6 @@
#ifndef MPIDU_SHM_H
#define MPIDU_SHM_H
-#include "mpiimpl.h"
-
#define MPIDU_SHM_MAX_FNAME_LEN 256
#define MPIDU_SHM_CACHE_LINE_LEN 64
http://git.mpich.org/mpich.git/commitdiff/36a128747962564b0499fbe5db18de880152f47c
commit 36a128747962564b0499fbe5db18de880152f47c
Author: Charles J Archer <charles.j.archer at intel.com>
Date: Wed Jul 20 12:40:42 2016 -0700
Add missing MPICH header
Signed-off-by: Ken Raffenetti <raffenet at mcs.anl.gov>
diff --git a/src/mpid/common/shm/mpidu_shm.h b/src/mpid/common/shm/mpidu_shm.h
index 2060cd6..2ce5a40 100644
--- a/src/mpid/common/shm/mpidu_shm.h
+++ b/src/mpid/common/shm/mpidu_shm.h
@@ -1,3 +1,9 @@
+/* -*- Mode: C; c-basic-offset:4 ; indent-tabs-mode:nil ; -*- */
+/* vim: set ft=c.mpich : */
+/*
+ * (C) 2016 by Argonne National Laboratory.
+ * See COPYRIGHT in top-level directory.
+ */
#ifndef MPIDU_SHM_H
#define MPIDU_SHM_H
@@ -42,4 +48,3 @@ int MPIDU_shm_barrier_init(MPIDU_shm_barrier_t *barrier_region,
int MPIDU_shm_barrier(MPIDU_shm_barrier_t *barrier, int num_local);
#endif /* MPIDU_SHM_H */
-/* vim: ft=c */
http://git.mpich.org/mpich.git/commitdiff/cab988ed5e523f92814c7223f38a472a7f1ea770
commit cab988ed5e523f92814c7223f38a472a7f1ea770
Author: Charles J Archer <charles.j.archer at intel.com>
Date: Fri Jan 29 13:16:34 2016 -0800
Bug-fix: Protect multi-threading defines
Signed-off-by: Ken Raffenetti <raffenet at mcs.anl.gov>
diff --git a/src/mpid/common/thread/mpidu_thread_fallback.h b/src/mpid/common/thread/mpidu_thread_fallback.h
index fec107f..b89c242 100644
--- a/src/mpid/common/thread/mpidu_thread_fallback.h
+++ b/src/mpid/common/thread/mpidu_thread_fallback.h
@@ -524,6 +524,7 @@ M*/
("tls_get failed, err=%d (%s)", *((int *) err_ptr_), strerror(*((int *) err_ptr_)))); \
} while (0)
+#if defined(MPICH_IS_THREADED)
#define MPIDU_THREADPRIV_KEY_CREATE \
do { \
@@ -533,12 +534,17 @@ M*/
} while (0)
#define MPIDU_THREADPRIV_KEY_GET_ADDR MPL_THREADPRIV_KEY_GET_ADDR
-
#define MPIDU_THREADPRIV_KEY_DESTROY \
do { \
int err_ = 0; \
MPL_THREADPRIV_KEY_DESTROY(MPIR_Per_thread_key, &err_); \
MPIR_Assert(err_ == 0); \
} while (0)
+#else /* !defined(MPICH_IS_THREADED) */
+#define MPIDU_THREADPRIV_KEY_CREATE(key, var, err_ptr_)
+#define MPIDU_THREADPRIV_KEY_GET_ADDR(is_threaded, key, var, addr, err_ptr_) \
+ MPL_THREADPRIV_KEY_GET_ADDR(0, key, var, addr, err_ptr_)
+#define MPIDU_THREADPRIV_KEY_DESTROY(key, err_ptr_)
+#endif /* MPICH_IS_THREADED */
#endif /* !defined(MPIDU_THREAD_H_INCLUDED) */
http://git.mpich.org/mpich.git/commitdiff/a83721f6da89c1c05fb786da6020f790d7d0cfc4
commit a83721f6da89c1c05fb786da6020f790d7d0cfc4
Author: Charles J Archer <charles.j.archer at intel.com>
Date: Wed Jul 20 12:26:30 2016 -0700
Fix some circular dependency issues
Signed-off-by: Ken Raffenetti <raffenet at mcs.anl.gov>
diff --git a/src/mpid/common/datatype/mpidu_dataloop.h b/src/mpid/common/datatype/mpidu_dataloop.h
index 1fa82d2..b9dddd1 100644
--- a/src/mpid/common/datatype/mpidu_dataloop.h
+++ b/src/mpid/common/datatype/mpidu_dataloop.h
@@ -9,6 +9,7 @@
#define MPIDU_DATALOOP_H
#include <mpi.h>
+#include <mpl.h>
/* Note: this is where you define the prefix that will be prepended on
* all externally visible generic dataloop and segment functions.
@@ -110,6 +111,4 @@
#define MPIDU_DATALOOP_HOMOGENEOUS DLOOP_DATALOOP_HOMOGENEOUS
#define MPIDU_DATALOOP_ALL_BYTES DLOOP_DATALOOP_ALL_BYTES
-#include <mpiimpl.h>
-
#endif
diff --git a/src/mpid/common/datatype/mpidu_datatype.h b/src/mpid/common/datatype/mpidu_datatype.h
index 73cd35d..350515f 100644
--- a/src/mpid/common/datatype/mpidu_datatype.h
+++ b/src/mpid/common/datatype/mpidu_datatype.h
@@ -6,7 +6,6 @@
#ifndef MPIDU_DATATYPE_H
#define MPIDU_DATATYPE_H
-#include "mpiimpl.h"
#include "mpidu_dataloop.h"
#include "mpir_objects.h"
diff --git a/src/mpid/common/datatype/mpidu_type_commit.c b/src/mpid/common/datatype/mpidu_type_commit.c
index 407ecd7..a847ebf 100644
--- a/src/mpid/common/datatype/mpidu_type_commit.c
+++ b/src/mpid/common/datatype/mpidu_type_commit.c
@@ -5,6 +5,7 @@
* See COPYRIGHT in top-level directory.
*/
+#include <mpiimpl.h>
#include <mpidu_dataloop.h>
#include <stdlib.h>
http://git.mpich.org/mpich.git/commitdiff/7df6a4a8474e71299bbd257ef4ef48f80ccba549
commit 7df6a4a8474e71299bbd257ef4ef48f80ccba549
Author: Charles J Archer <charles.j.archer at intel.com>
Date: Thu Jan 21 10:59:53 2016 -0800
Cleanup unused label warnings
Signed-off-by: Ken Raffenetti <raffenet at mcs.anl.gov>
diff --git a/src/mpi/coll/alltoall.c b/src/mpi/coll/alltoall.c
index 309a6c3..b686562 100644
--- a/src/mpi/coll/alltoall.c
+++ b/src/mpi/coll/alltoall.c
@@ -527,16 +527,13 @@ int MPIR_Alltoall_inter(
}
}
- fn_exit:
if (mpi_errno_ret)
mpi_errno = mpi_errno_ret;
else if (*errflag != MPIR_ERR_NONE)
MPIR_ERR_SET(mpi_errno, *errflag, "**coll_fail");
return mpi_errno;
- fn_fail:
- goto fn_exit;
-}
+ }
#undef FUNCNAME
diff --git a/src/mpi/coll/alltoallv.c b/src/mpi/coll/alltoallv.c
index 46f1809..d7c6b0c 100644
--- a/src/mpi/coll/alltoallv.c
+++ b/src/mpi/coll/alltoallv.c
@@ -303,14 +303,11 @@ int MPIR_Alltoallv_inter(const void *sendbuf, const int *sendcounts, const int *
}
}
- fn_exit:
if (mpi_errno_ret)
mpi_errno = mpi_errno_ret;
else if (*errflag != MPIR_ERR_NONE)
MPIR_ERR_SET(mpi_errno, *errflag, "**coll_fail");
return mpi_errno;
- fn_fail:
- goto fn_exit;
}
diff --git a/src/mpi/coll/alltoallw.c b/src/mpi/coll/alltoallw.c
index 02eba11..6b5f925 100644
--- a/src/mpi/coll/alltoallw.c
+++ b/src/mpi/coll/alltoallw.c
@@ -297,15 +297,11 @@ int MPIR_Alltoallw_inter(const void *sendbuf, const int sendcounts[], const int
MPIR_ERR_ADD(mpi_errno_ret, mpi_errno);
}
}
-
- fn_exit:
if (mpi_errno_ret)
mpi_errno = mpi_errno_ret;
else if (*errflag != MPIR_ERR_NONE)
MPIR_ERR_SET(mpi_errno, *errflag, "**coll_fail");
return mpi_errno;
- fn_fail:
- goto fn_exit;
}
#undef FUNCNAME
diff --git a/src/mpi/coll/barrier.c b/src/mpi/coll/barrier.c
index 54347c5..ef6590c 100644
--- a/src/mpi/coll/barrier.c
+++ b/src/mpi/coll/barrier.c
@@ -113,14 +113,11 @@ static int barrier_smp_intra(MPIR_Comm *comm_ptr, MPIR_Errflag_t *errflag)
}
}
- fn_exit:
if (mpi_errno_ret)
mpi_errno = mpi_errno_ret;
else if (*errflag != MPIR_ERR_NONE)
MPIR_ERR_SET(mpi_errno, *errflag, "**coll_fail");
return mpi_errno;
- fn_fail:
- goto fn_exit;
}
/* not declared static because it is called in ch3_comm_connect/accept */
@@ -174,8 +171,6 @@ int MPIR_Barrier_intra( MPIR_Comm *comm_ptr, MPIR_Errflag_t *errflag )
else if (*errflag != MPIR_ERR_NONE)
MPIR_ERR_SET(mpi_errno, *errflag, "**coll_fail");
return mpi_errno;
- fn_fail:
- goto fn_exit;
}
/* not declared static because a machine-specific function may call this one
diff --git a/src/mpi/coll/barrier_group.c b/src/mpi/coll/barrier_group.c
index cd629bf..1c68132 100644
--- a/src/mpi/coll/barrier_group.c
+++ b/src/mpi/coll/barrier_group.c
@@ -27,9 +27,7 @@ int MPIR_Barrier_group( MPIR_Comm *comm_ptr, MPIR_Group *group_ptr, int tag, MPI
if (mpi_errno != MPI_SUCCESS || *errflag != MPIR_ERR_NONE)
*errflag = MPIR_ERR_GET_CLASS(mpi_errno);
- fn_exit:
+ fn_exit:
return mpi_errno;
- fn_fail:
- goto fn_exit;
}
diff --git a/src/mpi/coll/bcast.c b/src/mpi/coll/bcast.c
index b024d5e..49149ff 100644
--- a/src/mpi/coll/bcast.c
+++ b/src/mpi/coll/bcast.c
@@ -438,7 +438,6 @@ static int scatter_for_bcast(
mask >>= 1;
}
-fn_exit:
/* --BEGIN ERROR HANDLING-- */
if (mpi_errno_ret)
mpi_errno = mpi_errno_ret;
@@ -446,8 +445,6 @@ fn_exit:
MPIR_ERR_SET(mpi_errno, *errflag, "**coll_fail");
/* --END ERROR HANDLING-- */
return mpi_errno;
-fn_fail:
- goto fn_exit;
}
/*
@@ -1163,8 +1160,6 @@ fn_exit:
MPIR_ERR_SET(mpi_errno, *errflag, "**coll_fail");
/* --END ERROR HANDLING-- */
return mpi_errno;
-fn_fail:
- goto fn_exit;
}
@@ -1322,8 +1317,6 @@ fn_exit:
MPIR_ERR_SET(mpi_errno, *errflag, "**coll_fail");
/* --END ERROR HANDLING-- */
return mpi_errno;
-fn_fail:
- goto fn_exit;
}
@@ -1406,7 +1399,6 @@ int MPIR_Bcast_inter (
}
}
-fn_fail:
MPIR_FUNC_TERSE_EXIT(MPID_STATE_MPIR_BCAST_INTER);
/* --BEGIN ERROR HANDLING-- */
if (mpi_errno_ret)
diff --git a/src/mpi/coll/reduce_local.c b/src/mpi/coll/reduce_local.c
index 547ad56..c97126f 100644
--- a/src/mpi/coll/reduce_local.c
+++ b/src/mpi/coll/reduce_local.c
@@ -123,8 +123,6 @@ int MPIR_Reduce_local_impl(const void *inbuf, void *inoutbuf, int count, MPI_Dat
fn_exit:
return mpi_errno;
-fn_fail:
- goto fn_exit;
}
#endif
diff --git a/src/mpi/comm/comm_create.c b/src/mpi/comm/comm_create.c
index d75f825..7540e65 100644
--- a/src/mpi/comm/comm_create.c
+++ b/src/mpi/comm/comm_create.c
@@ -173,11 +173,7 @@ int MPII_Comm_create_map(int local_n,
MPIR_Comm_map_irregular(newcomm, mapping_comm, remote_mapping,
remote_n, MPIR_COMM_MAP_DIR__R2R, NULL);
}
-
-fn_exit:
return mpi_errno;
-fn_fail:
- goto fn_exit;
}
diff --git a/src/mpi/comm/commutil.c b/src/mpi/comm/commutil.c
index 53190ec..3129d6a 100644
--- a/src/mpi/comm/commutil.c
+++ b/src/mpi/comm/commutil.c
@@ -111,7 +111,6 @@ int MPII_Comm_init(MPIR_Comm * comm_p)
/* Fields not set include context_id, remote and local size, and
* kind, since different communicator construction routines need
* different values */
- fn_fail:
return mpi_errno;
}
@@ -510,11 +509,8 @@ int MPIR_Comm_map_free(MPIR_Comm * comm)
}
comm->mapper_head = NULL;
- fn_exit:
MPIR_FUNC_TERSE_EXIT(MPID_STATE_MPIR_COMM_MAP_FREE);
return mpi_errno;
- fn_fail:
- goto fn_exit;
}
/* Provides a hook for the top level functions to perform some manipulation on a
@@ -906,7 +902,6 @@ int MPII_Comm_copy_data(MPIR_Comm * comm_ptr, MPIR_Comm ** outcomm_ptr)
*outcomm_ptr = newcomm_ptr;
fn_fail:
- fn_exit:
MPIR_FUNC_TERSE_EXIT(MPID_STATE_MPIR_COMM_COPY_DATA);
return mpi_errno;
}
@@ -1132,11 +1127,8 @@ static int free_hint_handles(void *ignore)
}
}
- fn_exit:
MPIR_FUNC_TERSE_EXIT(MPID_STATE_MPIR_COMM_FREE_HINT_HANDLES);
return mpi_errno;
- fn_fail:
- goto fn_exit;
}
/* The hint logic is stored in a uthash, with hint name as key and
@@ -1164,9 +1156,6 @@ int MPIR_Comm_register_hint(const char *hint_key, MPIR_Comm_hint_fn_t fn, void *
HASH_ADD_STR(MPID_hint_fns, name, hint_elt);
- fn_exit:
MPIR_FUNC_TERSE_EXIT(MPID_STATE_MPIR_COMM_REGISTER_HINT);
return mpi_errno;
- fn_fail:
- goto fn_exit;
}
diff --git a/src/mpi/comm/intercomm_merge.c b/src/mpi/comm/intercomm_merge.c
index c7283f3..52c55ff 100644
--- a/src/mpi/comm/intercomm_merge.c
+++ b/src/mpi/comm/intercomm_merge.c
@@ -61,7 +61,6 @@ static int create_and_map(MPIR_Comm *comm_ptr, int local_high, MPIR_Comm *new_in
MPIR_Comm_map_dup(new_intracomm_ptr, comm_ptr, MPIR_COMM_MAP_DIR__R2L);
}
-fn_fail:
return mpi_errno;
}
diff --git a/src/mpi/datatype/get_elements_x.c b/src/mpi/datatype/get_elements_x.c
index 2f6351b..d83bd21 100644
--- a/src/mpi/datatype/get_elements_x.c
+++ b/src/mpi/datatype/get_elements_x.c
@@ -349,10 +349,7 @@ int MPIR_Get_elements_x_impl(const MPI_Status *status, MPI_Datatype datatype, MP
*elements = MPIR_Type_get_elements(&byte_count, -1, datatype);
}
-fn_exit:
return mpi_errno;
-fn_fail:
- goto fn_exit;
}
#endif /* MPICH_MPI_FROM_PMPI */
diff --git a/src/mpi/datatype/status_set_elements_x.c b/src/mpi/datatype/status_set_elements_x.c
index 007e00e..c08a97d 100644
--- a/src/mpi/datatype/status_set_elements_x.c
+++ b/src/mpi/datatype/status_set_elements_x.c
@@ -45,10 +45,7 @@ int MPIR_Status_set_elements_x_impl(MPI_Status *status, MPI_Datatype datatype, M
MPIR_STATUS_SET_COUNT(*status, size_x * count);
-fn_exit:
return mpi_errno;
-fn_fail:
- goto fn_exit;
}
#endif /* MPICH_MPI_FROM_PMPI */
diff --git a/src/mpi/datatype/type_size_x.c b/src/mpi/datatype/type_size_x.c
index 4cfd973..25ab1b5 100644
--- a/src/mpi/datatype/type_size_x.c
+++ b/src/mpi/datatype/type_size_x.c
@@ -36,10 +36,7 @@ int MPIR_Type_size_x_impl(MPI_Datatype datatype, MPI_Count *size)
MPID_Datatype_get_size_macro(datatype, *size);
-fn_exit:
return mpi_errno;
-fn_fail:
- goto fn_exit;
}
#endif /* MPICH_MPI_FROM_PMPI */
diff --git a/src/mpi/group/group_compare.c b/src/mpi/group/group_compare.c
index dd92714..7c15e97 100644
--- a/src/mpi/group/group_compare.c
+++ b/src/mpi/group/group_compare.c
@@ -75,8 +75,6 @@ int MPIR_Group_compare_impl(MPIR_Group *group_ptr1, MPIR_Group *group_ptr2, int
fn_exit:
return mpi_errno;
-fn_fail:
- goto fn_exit;
}
#endif
diff --git a/src/mpi/group/group_translate_ranks.c b/src/mpi/group/group_translate_ranks.c
index dad9886..3cd24b0 100644
--- a/src/mpi/group/group_translate_ranks.c
+++ b/src/mpi/group/group_translate_ranks.c
@@ -100,10 +100,7 @@ int MPIR_Group_translate_ranks_impl(MPIR_Group *gp1, int n, const int ranks1[],
}
}
}
-fn_exit:
return mpi_errno;
-fn_fail:
- goto fn_exit;
}
diff --git a/src/mpi/init/initthread.c b/src/mpi/init/initthread.c
index a784f42..9e20e9b 100644
--- a/src/mpi/init/initthread.c
+++ b/src/mpi/init/initthread.c
@@ -594,7 +594,6 @@ int MPIR_Init_thread(int * argc, char ***argv, int required, int * provided)
if (mpi_errno == MPI_SUCCESS)
mpi_errno = MPID_InitCompleted();
-fn_exit:
MPID_THREAD_CS_EXIT(GLOBAL, MPIR_THREAD_GLOBAL_ALLFUNC_MUTEX);
/* Make fields of MPIR_Process global visible and set mpich_state
atomically so that MPI_Initialized() etc. are thread safe */
diff --git a/src/mpi/pt2pt/bsendutil.c b/src/mpi/pt2pt/bsendutil.c
index 32e71c6..e10ae28 100644
--- a/src/mpi/pt2pt/bsendutil.c
+++ b/src/mpi/pt2pt/bsendutil.c
@@ -344,10 +344,7 @@ int MPIR_Bsend_free_req_seg( MPIR_Request* req )
MPL_DBG_MSG_P(MPIR_DBG_BSEND,TYPICAL,"Next active is %p",active);
}
- fn_exit:
return mpi_errno;
- fn_fail:
- goto fn_exit;
}
/*
diff --git a/src/mpi/pt2pt/mpir_request.c b/src/mpi/pt2pt/mpir_request.c
index d61cd1c..9453e58 100644
--- a/src/mpi/pt2pt/mpir_request.c
+++ b/src/mpi/pt2pt/mpir_request.c
@@ -46,8 +46,8 @@ int MPIR_Progress_wait_request(MPIR_Request *req)
}
MPID_Progress_end(&progress_state);
}
-fn_fail: /* no special err handling at this level */
-fn_exit:
+
+ fn_fail:
return mpi_errno;
}
diff --git a/src/mpi_t/cat_get_categories.c b/src/mpi_t/cat_get_categories.c
index a17dc89..c3ccc0c 100644
--- a/src/mpi_t/cat_get_categories.c
+++ b/src/mpi_t/cat_get_categories.c
@@ -44,10 +44,7 @@ int MPIR_T_category_get_categories_impl(int cat_index, int len, int indices[])
indices[i] = *(int *)utarray_eltptr(cat->subcat_indices, i);
}
-fn_exit:
return mpi_errno;
-fn_fail:
- goto fn_exit;
}
#endif /* MPICH_MPI_FROM_PMPI */
diff --git a/src/mpi_t/cat_get_cvars.c b/src/mpi_t/cat_get_cvars.c
index 3f9ed53..e23071f 100644
--- a/src/mpi_t/cat_get_cvars.c
+++ b/src/mpi_t/cat_get_cvars.c
@@ -44,10 +44,7 @@ int MPIR_T_category_get_cvars_impl(int cat_index, int len, int indices[])
indices[i] = *(int *)utarray_eltptr(cat->cvar_indices, i);
}
-fn_exit:
return mpi_errno;
-fn_fail:
- goto fn_exit;
}
#endif /* MPICH_MPI_FROM_PMPI */
diff --git a/src/mpi_t/cat_get_pvars.c b/src/mpi_t/cat_get_pvars.c
index 10c3b1d..984f024 100644
--- a/src/mpi_t/cat_get_pvars.c
+++ b/src/mpi_t/cat_get_pvars.c
@@ -44,10 +44,7 @@ int MPIR_T_category_get_pvars_impl(int cat_index, int len, int indices[])
indices[i] = *(int *)utarray_eltptr(cat->pvar_indices, i);
}
-fn_exit:
return mpi_errno;
-fn_fail:
- goto fn_exit;
}
#endif /* MPICH_MPI_FROM_PMPI */
diff --git a/src/mpi_t/mpit.c b/src/mpi_t/mpit.c
index 5107124..cb8c2dc 100644
--- a/src/mpi_t/mpit.c
+++ b/src/mpi_t/mpit.c
@@ -130,12 +130,8 @@ int MPIR_T_cat_add_pvar(const char *cat_name, int pvar_index)
/* Notify categories have been changed */
cat_stamp++;
}
-
fn_exit:
return mpi_errno;
-
-fn_fail:
- goto fn_exit;
}
/* Add a cvar to an existing or new category
@@ -171,9 +167,6 @@ int MPIR_T_cat_add_cvar(const char *cat_name, int cvar_index)
fn_exit:
return mpi_errno;
-
-fn_fail:
- goto fn_exit;
}
/* Add a sub-category to an existing or new category
@@ -226,8 +219,6 @@ int MPIR_T_cat_add_subcat(const char *parent_name, const char *child_name)
fn_exit:
return mpi_errno;
-fn_fail:
- goto fn_exit;
}
/* Add description to an existing or new category
@@ -262,11 +253,7 @@ int MPIR_T_cat_add_desc(const char *cat_name, const char *cat_desc)
cat_stamp++;
}
-fn_exit:
return mpi_errno;
-
-fn_fail:
- goto fn_exit;
}
/* A low level, generic and internally used interface to register
diff --git a/src/mpi_t/mpit_initthread.c b/src/mpi_t/mpit_initthread.c
index d177384..0c92342 100644
--- a/src/mpi_t/mpit_initthread.c
+++ b/src/mpi_t/mpit_initthread.c
@@ -139,20 +139,6 @@ int MPI_T_init_thread(int required, int *provided)
/* ... end of body of routine ... */
-fn_exit:
MPIR_FUNC_TERSE_EXIT(MPID_STATE_MPI_T_INIT_THREAD);
return mpi_errno;
-
-fn_fail:
- /* --BEGIN ERROR HANDLING-- */
-# ifdef HAVE_ERROR_CHECKING
- {
- mpi_errno = MPIR_Err_create_code(
- mpi_errno, MPIR_ERR_RECOVERABLE, FCNAME, __LINE__, MPI_ERR_OTHER,
- "**mpi_t_init_thread", "**mpi_t_init_thread %d %p", required, provided);
- }
-# endif
- mpi_errno = MPIR_Err_return_comm(NULL, FCNAME, mpi_errno);
- goto fn_exit;
- /* --END ERROR HANDLING-- */
}
diff --git a/src/mpi_t/pvar_handle_free.c b/src/mpi_t/pvar_handle_free.c
index ca571ea..7570961 100644
--- a/src/mpi_t/pvar_handle_free.c
+++ b/src/mpi_t/pvar_handle_free.c
@@ -62,10 +62,7 @@ int MPIR_T_pvar_handle_free_impl(MPI_T_pvar_session session, MPI_T_pvar_handle *
MPL_free(hnd);
*handle = MPI_T_PVAR_HANDLE_NULL;
-fn_exit:
return mpi_errno;
-fn_fail:
- goto fn_exit;
}
#endif /* MPICH_MPI_FROM_PMPI */
diff --git a/src/mpi_t/pvar_reset.c b/src/mpi_t/pvar_reset.c
index a96a488..c5d8c49 100644
--- a/src/mpi_t/pvar_reset.c
+++ b/src/mpi_t/pvar_reset.c
@@ -67,10 +67,7 @@ int MPIR_T_pvar_reset_impl(MPI_T_pvar_session session, MPI_T_pvar_handle handle)
}
}
-fn_exit:
return mpi_errno;
-fn_fail:
- goto fn_exit;
}
#endif /* MPICH_MPI_FROM_PMPI */
diff --git a/src/mpi_t/pvar_session_free.c b/src/mpi_t/pvar_session_free.c
index edb9468..6988792 100644
--- a/src/mpi_t/pvar_session_free.c
+++ b/src/mpi_t/pvar_session_free.c
@@ -49,10 +49,7 @@ int MPIR_T_pvar_session_free_impl(MPI_T_pvar_session *session)
MPL_free(*session);
*session = MPI_T_PVAR_SESSION_NULL;
-fn_exit:
return mpi_errno;
-fn_fail:
- goto fn_exit;
}
#endif /* MPICH_MPI_FROM_PMPI */
diff --git a/src/mpi_t/pvar_start.c b/src/mpi_t/pvar_start.c
index 85995d6..25139e9 100644
--- a/src/mpi_t/pvar_start.c
+++ b/src/mpi_t/pvar_start.c
@@ -67,10 +67,7 @@ int MPIR_T_pvar_start_impl(MPI_T_pvar_session session, MPI_T_pvar_handle handle)
/* OK, let's get started */
MPIR_T_pvar_set_started(handle);
-fn_exit:
return mpi_errno;
-fn_fail:
- goto fn_exit;
}
#endif /* MPICH_MPI_FROM_PMPI */
diff --git a/src/mpid/common/sched/mpidu_sched.c b/src/mpid/common/sched/mpidu_sched.c
index 3640f0c..bc72332 100644
--- a/src/mpid/common/sched/mpidu_sched.c
+++ b/src/mpid/common/sched/mpidu_sched.c
@@ -795,10 +795,7 @@ int MPIDU_Sched_barrier(MPIR_Sched_t s)
s->entries[s->num_entries - 1].is_barrier = TRUE;
}
- fn_exit:
return mpi_errno;
- fn_fail:
- goto fn_exit;
}
#undef FUNCNAME
http://git.mpich.org/mpich.git/commitdiff/d803c979eba80b8a0705c718719e5b8035d44cf2
commit d803c979eba80b8a0705c718719e5b8035d44cf2
Author: Charles J Archer <charles.j.archer at intel.com>
Date: Wed Jul 20 11:40:31 2016 -0700
Fix warning with unsigned to signed conversion
Signed-off-by: Ken Raffenetti <raffenet at mcs.anl.gov>
diff --git a/src/include/mpit.h b/src/include/mpit.h
index 6757358..d2e2986 100644
--- a/src/include/mpit.h
+++ b/src/include/mpit.h
@@ -42,7 +42,7 @@ extern int MPIR_T_cat_add_desc(const char *cat_name, const char *cat_desc);
static inline cvar_table_entry_t * LOOKUP_CVAR_BY_NAME(const char* cvar_name)
{
- int cvar_idx;
+ unsigned cvar_idx;
name2index_hash_t *hash_entry;
HASH_FIND_STR(cvar_hash, cvar_name, hash_entry);
MPIR_Assert(hash_entry != NULL);
diff --git a/src/include/mpitimpl.h b/src/include/mpitimpl.h
index a3af890..c3a9d03 100644
--- a/src/include/mpitimpl.h
+++ b/src/include/mpitimpl.h
@@ -57,7 +57,7 @@ typedef struct {
/* Hash names to indices in a table */
typedef struct {
const char *name;
- int idx;
+ unsigned idx;
UT_hash_handle hh; /* Makes this structure hashable */
} name2index_hash_t;
http://git.mpich.org/mpich.git/commitdiff/d9d88286385f2df24bb7832aa6ce2e544f0d0672
commit d9d88286385f2df24bb7832aa6ce2e544f0d0672
Author: Charles J Archer <charles.j.archer at intel.com>
Date: Wed Jul 20 11:08:11 2016 -0700
Add assert to check for negative refcounts
Signed-off-by: Ken Raffenetti <raffenet at mcs.anl.gov>
diff --git a/src/include/mpir_refcount_global.h b/src/include/mpir_refcount_global.h
index 9f01da2..0803404 100644
--- a/src/include/mpir_refcount_global.h
+++ b/src/include/mpir_refcount_global.h
@@ -23,6 +23,7 @@ typedef volatile int MPIR_cc_t;
#define MPIR_cc_decr(cc_ptr_, incomplete_) \
do { \
*(incomplete_) = --(*(cc_ptr_)); \
+ MPIR_Assert(*(incomplete_) >= 0); \
} while (0)
diff --git a/src/include/mpir_refcount_pobj.h b/src/include/mpir_refcount_pobj.h
index a9d500a..6a98ed6 100644
--- a/src/include/mpir_refcount_pobj.h
+++ b/src/include/mpir_refcount_pobj.h
@@ -58,9 +58,12 @@ static inline int MPIR_cc_is_complete(MPIR_cc_t * cc_ptr)
/* incomplete_==TRUE iff the cc > 0 after the decr */
#define MPIR_cc_decr(cc_ptr_, incomplete_) \
do { \
+ int ctr_; \
OPA_write_barrier(); \
MPL_VG_ANNOTATE_HAPPENS_BEFORE(cc_ptr_); \
- *(incomplete_) = !OPA_decr_and_test_int(cc_ptr_); \
+ ctr_ = OPA_fetch_and_decr_int(cc_ptr_); \
+ MPIR_Assert(ctr_ >= 1); \
+ *(incomplete_) = (ctr_ != 1); \
/* TODO check if this HA is actually necessary */ \
if (!*(incomplete_)) { \
MPL_VG_ANNOTATE_HAPPENS_AFTER(cc_ptr_); \
diff --git a/src/include/mpir_refcount_single.h b/src/include/mpir_refcount_single.h
index 3ae7758..c5116db 100644
--- a/src/include/mpir_refcount_single.h
+++ b/src/include/mpir_refcount_single.h
@@ -22,6 +22,7 @@ typedef int MPIR_cc_t;
#define MPIR_cc_decr(cc_ptr_, incomplete_) \
do { \
*(incomplete_) = --(*(cc_ptr_)); \
+ MPIR_Assert(*(incomplete_) >= 0); \
} while (0)
http://git.mpich.org/mpich.git/commitdiff/08c588602b12fc0abf9ecf2667c5ba28cd60e55f
commit 08c588602b12fc0abf9ecf2667c5ba28cd60e55f
Author: Charles J Archer <charles.j.archer at intel.com>
Date: Wed Jul 20 10:59:22 2016 -0700
Add configuration to control tag error bits
Signed-off-by: Ken Raffenetti <raffenet at mcs.anl.gov>
diff --git a/configure.ac b/configure.ac
index 2a3f25e..942f780 100644
--- a/configure.ac
+++ b/configure.ac
@@ -342,6 +342,12 @@ AC_ARG_ENABLE(error-messages,
none - No messages
],,enable_error_messages=all)
+AC_ARG_ENABLE(tag-error-bits,
+[ --enable-tag-error-bits=yes|no - Control whether bits are taken from the user tag for error handling.
+ yes - Two bits are taken from the user tag to support error propagation.
+ no - No bits are taken from the user tag (this could cause deadlock if an error is detected during a collective).
+],,enable_tag_error_bits=yes)
+
AC_ARG_ENABLE(timing,
[ --enable-timing=level - Control the amount of timing information
collected by the MPICH implementation.
@@ -955,6 +961,11 @@ case "$enable_error_messages" in
esac
AC_DEFINE_UNQUOTED(MPICH_ERROR_MSG_LEVEL,$error_message_kind,[define to enable error messages])
+#error-tags
+if test "$enable_tag_error_bits" = "yes" ; then
+ AC_DEFINE([HAVE_TAG_ERROR_BITS],[1],[Define to enable tag error bits])
+fi
+
# ----------------------------------------------------------------------------
#
# enable-timing and with-logging
diff --git a/src/include/mpir_tags.h b/src/include/mpir_tags.h
index 7bd0c26..da14044 100644
--- a/src/include/mpir_tags.h
+++ b/src/include/mpir_tags.h
@@ -50,30 +50,62 @@
/* This bitmask can be used to manually mask the tag space wherever it might
* be necessary to do so (for instance in the receive queue */
+#ifdef HAVE_TAG_ERROR_BITS
#define MPIR_TAG_ERROR_BIT (1 << 30)
+#else
+#define MPIR_TAG_ERROR_BIT
+#endif
/* This bitmask is used to differentiate between a process failure
* (MPIX_ERR_PROC_FAILED) and any other kind of failure (MPI_ERR_OTHER). */
+#ifdef HAVE_TAG_ERROR_BITS
#define MPIR_TAG_PROC_FAILURE_BIT (1 << 29)
+#else
+#define MPIR_TAG_PROC_FAILURE_BIT
+#endif
/* This macro checks the value of the error bit in the MPI tag and returns 1
* if the tag is set and 0 if it is not. */
+#ifdef HAVE_TAG_ERROR_BITS
#define MPIR_TAG_CHECK_ERROR_BIT(tag) ((MPIR_TAG_ERROR_BIT & (tag)) == MPIR_TAG_ERROR_BIT ? 1 : 0)
+#else
+#define MPIR_TAG_CHECK_ERROR_BIT(tag) 0
+#endif
/* This macro checks the value of the process failure bit in the MPI tag and
* returns 1 if the tag is set and 0 if it is not. */
+#ifdef HAVE_TAG_ERROR_BITS
#define MPIR_TAG_CHECK_PROC_FAILURE_BIT(tag) ((MPIR_TAG_PROC_FAILURE_BIT & (tag)) == MPIR_TAG_PROC_FAILURE_BIT ? 1 : 0)
+#else
+#define MPIR_TAG_CHECK_PROC_FAILURE_BIT(tag) 0
+#endif
/* This macro sets the value of the error bit in the MPI tag to 1 */
+#ifdef HAVE_TAG_ERROR_BITS
#define MPIR_TAG_SET_ERROR_BIT(tag) ((tag) |= MPIR_TAG_ERROR_BIT)
+#else
+#define MPIR_TAG_SET_ERROR_BIT(tag) (tag)
+#endif
/* This macro sets the value of the process failure bit in the MPI tag to 1 */
+#ifdef HAVE_TAG_ERROR_BITS
#define MPIR_TAG_SET_PROC_FAILURE_BIT(tag) ((tag) |= (MPIR_TAG_ERROR_BIT | MPIR_TAG_PROC_FAILURE_BIT))
+#else
+#define MPIR_TAG_SET_PROC_FAILURE_BIT(tag) (tag)
+#endif
/* This macro clears the value of the error bits in the MPI tag */
+#ifdef HAVE_TAG_ERROR_BITS
#define MPIR_TAG_CLEAR_ERROR_BITS(tag) ((tag) &= ~(MPIR_TAG_ERROR_BIT ^ MPIR_TAG_PROC_FAILURE_BIT))
+#else
+#define MPIR_TAG_CLEAR_ERROR_BITS(tag) (tag)
+#endif
/* This macro masks the value of the error bits in the MPI tag */
+#ifdef HAVE_TAG_ERROR_BITS
#define MPIR_TAG_MASK_ERROR_BITS(tag) ((tag) & ~(MPIR_TAG_ERROR_BIT ^ MPIR_TAG_PROC_FAILURE_BIT))
+#else
+#define MPIR_TAG_MASK_ERROR_BITS(tag) (tag)
+#endif
#endif /* MPIR_TAGS_H_INCLUDED */
diff --git a/src/mpi/init/initthread.c b/src/mpi/init/initthread.c
index b93ebae..a784f42 100644
--- a/src/mpi/init/initthread.c
+++ b/src/mpi/init/initthread.c
@@ -509,7 +509,11 @@ int MPIR_Init_thread(int * argc, char ***argv, int required, int * provided)
MPIR_Assert(((unsigned)MPIR_Process.attrs.tag_ub & ((unsigned)MPIR_Process.attrs.tag_ub + 1)) == 0);
/* Set aside tag space for tagged collectives and failure notification */
+#ifdef HAVE_TAG_ERROR_BITS
MPIR_Process.attrs.tag_ub >>= 3;
+#else
+ MPIR_Process.attrs.tag_ub >>= 1;
+#endif
/* 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;
http://git.mpich.org/mpich.git/commitdiff/1227b993ca8664d3331157e87fb68bfd17ee9fea
commit 1227b993ca8664d3331157e87fb68bfd17ee9fea
Author: Charles J Archer <charles.j.archer at intel.com>
Date: Wed Jul 20 10:50:23 2016 -0700
Fix function name in comment
Signed-off-by: Ken Raffenetti <raffenet at mcs.anl.gov>
diff --git a/src/mpid/common/shm/mpidu_shm_alloc.c b/src/mpid/common/shm/mpidu_shm_alloc.c
index c938fab..f7bed7a 100644
--- a/src/mpid/common/shm/mpidu_shm_alloc.c
+++ b/src/mpid/common/shm/mpidu_shm_alloc.c
@@ -152,7 +152,7 @@ int MPIDU_shm_seg_commit(MPIDU_shm_seg_ptr_t memory, MPIDU_shm_barrier_ptr_t *ba
MPIR_FUNC_VERBOSE_ENTER(MPID_STATE_MPIDU_SHM_SEG_COMMIT);
- /* MPIDU_SHM_Seg_alloc() needs to have been called before this function */
+ /* MPIDU_shm_seg_alloc() needs to have been called before this function */
MPIR_Assert(!ALLOCQ_EMPTY());
MPIR_Assert(segment_len > 0);
-----------------------------------------------------------------------
Summary of changes:
configure.ac | 11 ++++++++
src/include/mpir_refcount_global.h | 1 +
src/include/mpir_refcount_pobj.h | 5 +++-
src/include/mpir_refcount_single.h | 1 +
src/include/mpir_tags.h | 32 ++++++++++++++++++++++++
src/include/mpit.h | 2 +-
src/include/mpitimpl.h | 2 +-
src/mpi/coll/alltoall.c | 5 +---
src/mpi/coll/alltoallv.c | 3 --
src/mpi/coll/alltoallw.c | 4 ---
src/mpi/coll/barrier.c | 5 ---
src/mpi/coll/barrier_group.c | 4 +--
src/mpi/coll/bcast.c | 8 ------
src/mpi/coll/reduce_local.c | 2 -
src/mpi/comm/comm_create.c | 4 ---
src/mpi/comm/commutil.c | 11 --------
src/mpi/comm/intercomm_merge.c | 1 -
src/mpi/datatype/get_elements_x.c | 3 --
src/mpi/datatype/status_set_elements_x.c | 3 --
src/mpi/datatype/type_size_x.c | 3 --
src/mpi/group/group_compare.c | 2 -
src/mpi/group/group_translate_ranks.c | 3 --
src/mpi/init/initthread.c | 5 +++-
src/mpi/pt2pt/bsendutil.c | 3 --
src/mpi/pt2pt/mpir_request.c | 4 +-
src/mpi_t/cat_get_categories.c | 3 --
src/mpi_t/cat_get_cvars.c | 3 --
src/mpi_t/cat_get_pvars.c | 3 --
src/mpi_t/mpit.c | 13 ---------
src/mpi_t/mpit_initthread.c | 14 ----------
src/mpi_t/pvar_handle_free.c | 3 --
src/mpi_t/pvar_reset.c | 3 --
src/mpi_t/pvar_session_free.c | 3 --
src/mpi_t/pvar_start.c | 3 --
src/mpid/common/datatype/mpidu_dataloop.h | 3 +-
src/mpid/common/datatype/mpidu_datatype.h | 1 -
src/mpid/common/datatype/mpidu_type_commit.c | 1 +
src/mpid/common/sched/mpidu_sched.c | 3 --
src/mpid/common/shm/mpidu_shm.h | 9 ++++--
src/mpid/common/shm/mpidu_shm_alloc.c | 2 +-
src/mpid/common/thread/mpidu_thread_fallback.h | 8 +++++-
41 files changed, 75 insertions(+), 127 deletions(-)
hooks/post-receive
--
MPICH primary repository
More information about the commits
mailing list