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 491957795644bf6d8edc76f8ee4cd75bf02b7d5c (commit) via b9232780088eadae2d7f00737371e0e43828bfff (commit) via fbcf94a1da1b7e27626d8eb3cba85be8ac1eeb12 (commit) via ae6451d561584d559a0418a455bb690c1c5f237d (commit) from 4325f45932a64cf6b170192f7d4b3ca35924537c (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/491957795644bf6d8edc76f8ee4cd75bf0... commit 491957795644bf6d8edc76f8ee4cd75bf02b7d5c Author: Su Huang <[email protected]> Date: Fri Sep 21 16:56:03 2012 -0400 multi_mpi coredump with RDMA on mpich (ibm) D186334 (ibm) 7Z6 (ibm) 63716b02ccab7cd99116e927a210eca43b03d52e Signed-off-by: Michael Blocksome <[email protected]> diff --git a/src/mpid/pamid/src/onesided/mpid_win_put.c b/src/mpid/pamid/src/onesided/mpid_win_put.c index 8864721..92fb477 100644 --- a/src/mpid/pamid/src/onesided/mpid_win_put.c +++ b/src/mpid/pamid/src/onesided/mpid_win_put.c @@ -65,31 +65,20 @@ MPIDI_Put_use_pami_rput(pami_context_t context, MPIDI_Win_request * req,int *fre { pami_result_t rc; void *map; - - pami_rput_simple_t params = { - .rma = { - .dest = req->dest, - .hints = { - .buffer_registered = PAMI_HINT_ENABLE, - .use_rdma = PAMI_HINT_ENABLE, - }, - .bytes = 0, - .cookie = req, - .done_fn = NULL, - }, - .rdma = { - .local = { - .mr = &req->origin.memregion, - }, - .remote = { - .mr = &req->win->mpid.info[req->target.rank].memregion, - .offset = req->offset, - }, - }, - .put = { - .rdone_fn = MPIDI_Win_DoneCB, - }, - }; + pami_rput_simple_t params; + /* params need to zero out to avoid passing garbage to PAMI */ + memset((void *) ¶ms,0,sizeof(pami_rput_simple_t)); + + params.rma.dest=req->dest; + params.rma.hints.buffer_registered = PAMI_HINT_ENABLE; + params.rma.hints.use_rdma = PAMI_HINT_ENABLE; + params.rma.bytes = 0; + params.rma.cookie = req; + params.rma.done_fn = NULL; + params.rdma.local.mr=&req->origin.memregion; + params.rdma.remote.mr=&req->win->mpid.info[req->target.rank].memregion; + params.rdma.remote.offset= req->offset; + params.put.rdone_fn= MPIDI_Win_DoneCB; struct MPIDI_Win_sync* sync = &req->win->mpid.sync; TRACE_ERR("Start index=%u/%d l-addr=%p r-base=%p r-offset=%zu (sync->started=%u sync->complete=%u)\n", http://git.mpich.org/mpich.git/commitdiff/b9232780088eadae2d7f00737371e0e438... commit b9232780088eadae2d7f00737371e0e43828bfff Author: Michael Blocksome <[email protected]> Date: Mon May 13 13:02:10 2013 -0500 Add dropped change from 'code review fixes'. (ibm) D185675 (ibm) 7693f538360130f4cca71f0975c0bb345d2f6239 diff --git a/src/mpid/pamid/include/mpidi_util.h b/src/mpid/pamid/include/mpidi_util.h index 5bec9c6..5428c10 100644 --- a/src/mpid/pamid/include/mpidi_util.h +++ b/src/mpid/pamid/include/mpidi_util.h @@ -42,6 +42,7 @@ #endif #endif +extern int MPIDI_atoi(char* , unsigned int* ); extern int MPIDI_Banner(char *); typedef enum {IS_IP, IS_US} MPIDI_TransportType; typedef enum {NO_STRIPING=0, IS_PACKET_STRIPING} MPIDI_StripingType; http://git.mpich.org/mpich.git/commitdiff/fbcf94a1da1b7e27626d8eb3cba85be8ac... commit fbcf94a1da1b7e27626d8eb3cba85be8ac1eeb12 Author: Michael Blocksome <[email protected]> Date: Mon May 13 12:30:13 2013 -0500 MPIDI_TRACE tool enhancement - remaining updates For some reason these changes from the original commit did not migrate into the 'mpich/master' branch. (ibm) D185675 (ibm) 3728f432f99fc499955a2c9d830a5026e5f87948 diff --git a/src/mpid/pamid/include/mpidi_datatypes.h b/src/mpid/pamid/include/mpidi_datatypes.h index 7e33c76..2ec80d4 100644 --- a/src/mpid/pamid/include/mpidi_datatypes.h +++ b/src/mpid/pamid/include/mpidi_datatypes.h @@ -285,7 +285,6 @@ struct MPIDI_Request uint32_t shm:16; #endif #ifdef MPIDI_TRACE - int cur_nMsgs; int partner_id; int idx; int PR_idx; diff --git a/src/mpid/pamid/src/mpid_recvq.c b/src/mpid/pamid/src/mpid_recvq.c index 8897296..8a7f43b 100644 --- a/src/mpid/pamid/src/mpid_recvq.c +++ b/src/mpid/pamid/src/mpid_recvq.c @@ -317,7 +317,7 @@ MPIDI_Recvq_FDU(int source, pami_task_t pami_source, int tag, int context_id, in MPIDI_Recvq_remove(MPIDI_Recvq.unexpected, rreq, prev_rreq); found = TRUE; #ifdef MPIDI_TRACE - MPIDI_In_cntr[(rreq->mpid.partner_id)].R[(rreq->mpid.idx)].matchedInUQ2=1; + MPIDI_Trace_buf[(rreq->mpid.partner_id)].R[(rreq->mpid.idx)].matchedInUQ2=1; #endif goto fn_exit; } diff --git a/src/mpid/pamid/src/pt2pt/mpidi_callback_eager.c b/src/mpid/pamid/src/pt2pt/mpidi_callback_eager.c index 5136715..c063bbc 100644 --- a/src/mpid/pamid/src/pt2pt/mpidi_callback_eager.c +++ b/src/mpid/pamid/src/pt2pt/mpidi_callback_eager.c @@ -304,8 +304,8 @@ MPIDI_RecvCB(pami_context_t context, recv->addr = rreq->mpid.uebuf; } #ifdef MPIDI_TRACE - MPIDI_In_cntr[(PAMIX_Endpoint_query(sender))].R[(rreq->mpid.idx)].comp_in_HH=2; - MPIDI_In_cntr[(PAMIX_Endpoint_query(sender))].R[(rreq->mpid.idx)].bufadd=rreq->mpid.userbuf; + MPIDI_Trace_buf[(PAMIX_Endpoint_query(sender))].R[(rreq->mpid.idx)].comp_in_HH=2; + MPIDI_Trace_buf[(PAMIX_Endpoint_query(sender))].R[(rreq->mpid.idx)].bufadd=rreq->mpid.userbuf; #endif #ifdef OUT_OF_ORDER_HANDLING diff --git a/src/mpid/pamid/src/pt2pt/mpidi_callback_rzv.c b/src/mpid/pamid/src/pt2pt/mpidi_callback_rzv.c index 296890e..3ec4228 100644 --- a/src/mpid/pamid/src/pt2pt/mpidi_callback_rzv.c +++ b/src/mpid/pamid/src/pt2pt/mpidi_callback_rzv.c @@ -112,10 +112,10 @@ MPIDI_RecvRzvCB_impl(pami_context_t context, #endif rreq->mpid.envelope.length = envelope->length; #ifdef MPIDI_TRACE - MPIDI_In_cntr[source].R[(rreq->mpid.idx)].req=rreq; - MPIDI_In_cntr[source].R[(rreq->mpid.idx)].rzv=1; - MPIDI_In_cntr[source].R[(rreq->mpid.idx)].rlen=envelope->length; - MPIDI_In_cntr[source].R[(rreq->mpid.idx)].sync=msginfo->isSync; + MPIDI_Trace_buf[source].R[(rreq->mpid.idx)].req=rreq; + MPIDI_Trace_buf[source].R[(rreq->mpid.idx)].rzv=1; + MPIDI_Trace_buf[source].R[(rreq->mpid.idx)].rlen=envelope->length; + MPIDI_Trace_buf[source].R[(rreq->mpid.idx)].sync=msginfo->isSync; #endif if ((TOKEN_FLOW_CONTROL_ON) && (MPIDI_MUST_RETURN_TOKENS(sender))) { @@ -149,9 +149,9 @@ MPIDI_RecvRzvCB_impl(pami_context_t context, { MPIDI_RendezvousTransfer(context, rreq); #ifdef MPIDI_TRACE - MPIDI_In_cntr[source].R[(rreq->mpid.idx)].sync_com_in_HH=1; - MPIDI_In_cntr[source].R[(rreq->mpid.idx)].matchedInHH=1; - MPIDI_In_cntr[source].R[(rreq->mpid.idx)].bufadd=rreq->mpid.userbuf; + MPIDI_Trace_buf[source].R[(rreq->mpid.idx)].sync_com_in_HH=1; + MPIDI_Trace_buf[source].R[(rreq->mpid.idx)].matchedInHH=1; + MPIDI_Trace_buf[source].R[(rreq->mpid.idx)].bufadd=rreq->mpid.userbuf; #endif } MPID_Request_discard(newreq); diff --git a/src/mpid/pamid/src/pt2pt/mpidi_callback_short.c b/src/mpid/pamid/src/pt2pt/mpidi_callback_short.c index 2b2aed6..73fd42d 100644 --- a/src/mpid/pamid/src/pt2pt/mpidi_callback_short.c +++ b/src/mpid/pamid/src/pt2pt/mpidi_callback_short.c @@ -208,9 +208,9 @@ MPIDI_RecvShortCB(pami_context_t context, if (sndlen > 0) memcpy(rcvbuf, sndbuf, sndlen); #ifdef MPIDI_TRACE - MPIDI_In_cntr[(PAMIX_Endpoint_query(sender))].R[(rreq->mpid.idx)].rlen=sndlen; - MPIDI_In_cntr[(PAMIX_Endpoint_query(sender))].R[(rreq->mpid.idx)].comp_in_HH=1; - MPIDI_In_cntr[(PAMIX_Endpoint_query(sender))].R[(rreq->mpid.idx)].bufadd=rreq->mpid.userbuf; + MPIDI_Trace_buf[(PAMIX_Endpoint_query(sender))].R[(rreq->mpid.idx)].rlen=sndlen; + MPIDI_Trace_buf[(PAMIX_Endpoint_query(sender))].R[(rreq->mpid.idx)].comp_in_HH=1; + MPIDI_Trace_buf[(PAMIX_Endpoint_query(sender))].R[(rreq->mpid.idx)].bufadd=rreq->mpid.userbuf; #endif MPIDI_Request_complete(rreq); diff --git a/src/mpid/pamid/src/pt2pt/mpidi_control.c b/src/mpid/pamid/src/pt2pt/mpidi_control.c index 9cc8a2b..b39fa51 100644 --- a/src/mpid/pamid/src/pt2pt/mpidi_control.c +++ b/src/mpid/pamid/src/pt2pt/mpidi_control.c @@ -229,7 +229,7 @@ MPIDI_RzvAck_proc_req(pami_context_t context, } #endif #ifdef MPIDI_TRACE - MPIDI_Out_cntr[(req->mpid.partner_id)].S[(req->mpid.idx)].recvAck=1; + MPIDI_Trace_buf[(req->mpid.partner_id)].S[(req->mpid.idx)].recvAck=1; #endif MPIDI_SendDoneCB(context, req, PAMI_SUCCESS); diff --git a/src/mpid/pamid/src/pt2pt/mpidi_recv.h b/src/mpid/pamid/src/pt2pt/mpidi_recv.h index 7042594..2ca6879 100644 --- a/src/mpid/pamid/src/pt2pt/mpidi_recv.h +++ b/src/mpid/pamid/src/pt2pt/mpidi_recv.h @@ -160,13 +160,6 @@ MPIDI_Recv(void * buf, tag, comm->recvcontext_id + context_offset, &found); -#ifdef MPIDI_TRACE -{ - size_t ll; - ll = count * MPID_Datatype_get_basic_size(datatype); - SET_REC_PR(rreq,buf,count,ll,datatype,pami_source,rank,tag,comm,is_blocking); -} -#endif #else int pami_source; if(rank != MPI_ANY_SOURCE) { @@ -184,6 +177,13 @@ MPIDI_Recv(void * buf, comm->recvcontext_id + context_offset, &found); #endif +#ifdef MPIDI_TRACE +{ + size_t ll; + ll = count * MPID_Datatype_get_basic_size(datatype); + MPIDI_SET_PR_REC(rreq,buf,count,ll,datatype,pami_source,rank,tag,comm,is_blocking); +} +#endif /* ----------------------------------------------------------------- */ /* populate request with our data */ diff --git a/src/mpid/pamid/src/pt2pt/mpidi_recvmsg.c b/src/mpid/pamid/src/pt2pt/mpidi_recvmsg.c index 0a9eb9d..e070efd 100644 --- a/src/mpid/pamid/src/pt2pt/mpidi_recvmsg.c +++ b/src/mpid/pamid/src/pt2pt/mpidi_recvmsg.c @@ -37,7 +37,7 @@ MPIDI_RecvMsg_Unexp(MPID_Request * rreq, /* Recv functions will ack the messages that are unexpected */ /* ------------------------------------------------------------ */ #ifdef MPIDI_TRACE - MPIDI_In_cntr[(rreq->mpid.partner_id)].R[(rreq->mpid.idx)].matchedInUQ=1; + MPIDI_Trace_buf[(rreq->mpid.partner_id)].R[(rreq->mpid.idx)].matchedInUQ=1; #endif if (MPIDI_Request_isRzv(rreq)) http://git.mpich.org/mpich.git/commitdiff/ae6451d561584d559a0418a455bb690c1c... commit ae6451d561584d559a0418a455bb690c1c5f237d Author: Charles Archer <[email protected]> Date: Thu Oct 4 12:01:00 2012 -0400 Fixed assert on int env vars passed in a string Signed-off-by: Michael Blocksome <[email protected]> diff --git a/src/mpid/pamid/src/mpidi_env.c b/src/mpid/pamid/src/mpidi_env.c index f32fccd..65dc493 100644 --- a/src/mpid/pamid/src/mpidi_env.c +++ b/src/mpid/pamid/src/mpidi_env.c @@ -427,6 +427,7 @@ ENV_Unsigned__(char* name[], unsigned* val, char* string, unsigned num_supported ENV_Deprecated(name, num_supported, deprecated, rank, NA); char * env; + int rc; unsigned i=0; for (;; ++i) { @@ -437,7 +438,17 @@ ENV_Unsigned__(char* name[], unsigned* val, char* string, unsigned num_supported break; } - *val = atoi(env); + unsigned oldval = *val; + rc=MPIDI_atoi(env,val); + if(rc != 0) + { + /* Something went wrong with the processing this integer + * Print a warning, and restore the original value */ + *val = oldval; + fprintf(stderr, "Warning: Environment variable: %s should be an integer value: defaulting to %d", string, *val); + return; + } + if (MPIDI_Process.verbose >= MPIDI_VERBOSE_DETAILS_ALL && rank == 0) fprintf(stderr, "%s = %u\n", string, *val); } @@ -932,83 +943,83 @@ MPIDI_Env_setup(int rank, int requested) unsigned tmp; { char* names[] = {"PAMID_COLLECTIVE_ALLGATHER", "PAMI_ALLGATHER", NULL}; - ENV_Unsigned(names, &tmp, 1, &found_deprecated_env_var, rank); + ENV_Deprecated(names, 1, &found_deprecated_env_var, rank, 0); } { char* names[] = {"PAMID_COLLECTIVE_ALLGATHER_PREALLREDUCE", "PAMI_ALLGATHER_PREALLREDUCE", NULL}; - ENV_Unsigned(names, &tmp, 1, &found_deprecated_env_var, rank); + ENV_Deprecated(names, 1, &found_deprecated_env_var, rank, 0); } { char* names[] = {"PAMID_COLLECTIVE_ALLGATHERV", "PAMI_ALLGATHERV", NULL}; - ENV_Unsigned(names, &tmp, 1, &found_deprecated_env_var, rank); + ENV_Deprecated(names, 1, &found_deprecated_env_var, rank, 0); } { char* names[] = {"PAMID_COLLECTIVE_ALLGATHERV_PREALLREDUCE", "PAMI_ALLGATHERV_PREALLREDUCE", NULL}; - ENV_Unsigned(names, &tmp, 1, &found_deprecated_env_var, rank); + ENV_Deprecated(names, 1, &found_deprecated_env_var, rank, 0); } { char* names[] = {"PAMID_COLLECTIVE_ALLREDUCE", "PAMI_ALLREDUCE", NULL}; - ENV_Unsigned(names, &tmp, 1, &found_deprecated_env_var, rank); + ENV_Deprecated(names, 1, &found_deprecated_env_var, rank, 0); } { char* names[] = {"PAMID_COLLECTIVE_ALLREDUCE_PREALLREDUCE", "PAMI_ALLREDUCE_PREALLREDUCE", NULL}; - ENV_Unsigned(names, &tmp, 1, &found_deprecated_env_var, rank); + ENV_Deprecated(names, 1, &found_deprecated_env_var, rank, 0); } { char* names[] = {"PAMID_COLLECTIVE_ALLTOALL", "PAMI_ALLTOALL", NULL}; - ENV_Unsigned(names, &tmp, 1, &found_deprecated_env_var, rank); + ENV_Deprecated(names, 1, &found_deprecated_env_var, rank, 0); } { char* names[] = {"PAMID_COLLECTIVE_ALLTOALLV", "PAMI_ALLTOALLV", NULL}; - ENV_Unsigned(names, &tmp, 1, &found_deprecated_env_var, rank); + ENV_Deprecated(names, 1, &found_deprecated_env_var, rank, 0); } { char* names[] = {"PAMID_COLLECTIVE_ALLTOALLV_INT", "PAMI_ALLTOALLV_INT", NULL}; - ENV_Unsigned(names, &tmp, 1, &found_deprecated_env_var, rank); + ENV_Deprecated(names, 1, &found_deprecated_env_var, rank, 0); } { char* names[] = {"PAMID_COLLECTIVE_BARRIER", "PAMI_BARRIER", NULL}; - ENV_Unsigned(names, &tmp, 1, &found_deprecated_env_var, rank); + ENV_Deprecated(names, 1, &found_deprecated_env_var, rank, 0); } { char* names[] = {"PAMID_COLLECTIVE_BCAST", "PAMI_BCAST", NULL}; - ENV_Unsigned(names, &tmp, 1, &found_deprecated_env_var, rank); + ENV_Deprecated(names, 1, &found_deprecated_env_var, rank, 0); } { char* names[] = {"PAMID_COLLECTIVE_BCAST_PREALLREDUCE", "PAMI_BCAST_PREALLREDUCE", NULL}; - ENV_Unsigned(names, &tmp, 1, &found_deprecated_env_var, rank); + ENV_Deprecated(names, 1, &found_deprecated_env_var, rank, 0); } { char* names[] = {"PAMID_COLLECTIVE_GATHER", "PAMI_GATHER", NULL}; - ENV_Unsigned(names, &tmp, 1, &found_deprecated_env_var, rank); + ENV_Deprecated(names, 1, &found_deprecated_env_var, rank, 0); } { char* names[] = {"PAMID_COLLECTIVE_GATHERV", "PAMI_GATHERV", NULL}; - ENV_Unsigned(names, &tmp, 1, &found_deprecated_env_var, rank); + ENV_Deprecated(names, 1, &found_deprecated_env_var, rank, 0); } { char* names[] = {"PAMID_COLLECTIVE_REDUCE", "PAMI_REDUCE", NULL}; - ENV_Unsigned(names, &tmp, 1, &found_deprecated_env_var, rank); + ENV_Deprecated(names, 1, &found_deprecated_env_var, rank, 0); } { char* names[] = {"PAMID_COLLECTIVE_SCAN", "PAMI_SCAN", NULL}; - ENV_Unsigned(names, &tmp, 1, &found_deprecated_env_var, rank); + ENV_Deprecated(names, 1, &found_deprecated_env_var, rank, 0); } { char* names[] = {"PAMID_COLLECTIVE_SCATTER", "PAMI_SCATTER", NULL}; - ENV_Unsigned(names, &tmp, 1, &found_deprecated_env_var, rank); + ENV_Deprecated(names, 1, &found_deprecated_env_var, rank, 0); } { char* names[] = {"PAMID_COLLECTIVE_SCATTERV", "PAMI_SCATTERV", NULL}; - ENV_Unsigned(names, &tmp, 1, &found_deprecated_env_var, rank); + ENV_Deprecated(names, 1, &found_deprecated_env_var, rank, 0); } { char* names[] = {"PAMID_COLLECTIVE_SCATTERV_PREALLREDUCE", "PAMI_SCATTERV_PREALLREDUCE", NULL}; - ENV_Unsigned(names, &tmp, 1, &found_deprecated_env_var, rank); + ENV_Deprecated(names, 1, &found_deprecated_env_var, rank, 0); } { char* names[] = {"PAMID_CORE_ON_ABORT", "PAMI_COREONABORT", "PAMI_COREONMPIABORT", "PAMI_COREONMPIDABORT", NULL}; - ENV_Unsigned(names, &tmp, 1, &found_deprecated_env_var, rank); + ENV_Deprecated(names, 1, &found_deprecated_env_var, rank, 0); } #if (MPIDI_STATISTICS || MPIDI_PRINTENV) mpich_env=(MPIDI_printenv_t *) MPIU_Malloc(sizeof(MPIDI_printenv_t)+1); ----------------------------------------------------------------------- Summary of changes: src/mpid/pamid/include/mpidi_datatypes.h | 1 - src/mpid/pamid/include/mpidi_util.h | 1 + src/mpid/pamid/src/mpid_recvq.c | 2 +- src/mpid/pamid/src/mpidi_env.c | 53 ++++++++++++++--------- src/mpid/pamid/src/onesided/mpid_win_put.c | 37 ++++++---------- src/mpid/pamid/src/pt2pt/mpidi_callback_eager.c | 4 +- src/mpid/pamid/src/pt2pt/mpidi_callback_rzv.c | 14 +++--- src/mpid/pamid/src/pt2pt/mpidi_callback_short.c | 6 +- src/mpid/pamid/src/pt2pt/mpidi_control.c | 2 +- src/mpid/pamid/src/pt2pt/mpidi_recv.h | 14 +++--- src/mpid/pamid/src/pt2pt/mpidi_recvmsg.c | 2 +- 11 files changed, 68 insertions(+), 68 deletions(-) hooks/post-receive -- MPICH primary repository