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 b2c8d888caf4e3b45ec29fbff34b469ceceba549 (commit) via f3fb46ae69b4e58ac4a2fdc8e2b13df9660d53ad (commit) from 8705110a70e91f9cfcccb24086c7a5e9232e1ec1 (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/b2c8d888caf4e3b45ec29fbff34b469cec... commit b2c8d888caf4e3b45ec29fbff34b469ceceba549 Author: Ken Raffenetti <[email protected]> Date: Thu Nov 13 18:20:41 2014 -0600 portals4: change variable name put_acked -> put_done Helps clarity since we no longer use ACKs in the netmod code. Signed-off-by: Antonio Pena Monferrer <[email protected]> diff --git a/src/mpid/ch3/channels/nemesis/netmod/portals4/ptl_impl.h b/src/mpid/ch3/channels/nemesis/netmod/portals4/ptl_impl.h index e5e1aea..5ab1eef 100644 --- a/src/mpid/ch3/channels/nemesis/netmod/portals4/ptl_impl.h +++ b/src/mpid/ch3/channels/nemesis/netmod/portals4/ptl_impl.h @@ -49,7 +49,7 @@ typedef struct { ptl_handle_me_t put_me; ptl_handle_me_t *get_me_p; int num_gets; - int put_acked; + int put_done; ptl_size_t chunk_offset; void *chunk_buffer[MPID_NEM_PTL_NUM_CHUNK_BUFFERS]; MPIDI_msg_sz_t bytes_put; @@ -72,7 +72,7 @@ typedef struct { REQ_PTL(req_)->put_me = PTL_INVALID_HANDLE; \ REQ_PTL(req_)->get_me_p = NULL; \ REQ_PTL(req_)->num_gets = 0; \ - REQ_PTL(req_)->put_acked = 0; \ + REQ_PTL(req_)->put_done = 0; \ REQ_PTL(req_)->event_handler = NULL; \ REQ_PTL(req_)->chunk_offset = 0; \ } while (0) diff --git a/src/mpid/ch3/channels/nemesis/netmod/portals4/ptl_nm.c b/src/mpid/ch3/channels/nemesis/netmod/portals4/ptl_nm.c index f506987..9a1000e 100644 --- a/src/mpid/ch3/channels/nemesis/netmod/portals4/ptl_nm.c +++ b/src/mpid/ch3/channels/nemesis/netmod/portals4/ptl_nm.c @@ -177,7 +177,7 @@ static inline int send_pkt(MPIDI_VC_t *vc, void *hdr_p, void *data_p, MPIDI_msg_ NEW_TAG(sendbuf->tag); TMPBUF(sreq) = NULL; REQ_PTL(sreq)->num_gets = 0; - REQ_PTL(sreq)->put_acked = 0; + REQ_PTL(sreq)->put_done = 0; if (data_sz) { MPIU_Memcpy(sendbuf->packet + sizeof(MPIDI_CH3_Pkt_t), data_p, sent_sz); @@ -230,7 +230,7 @@ static int send_noncontig_pkt(MPIDI_VC_t *vc, MPID_Request *sreq, void *hdr_p) NEW_TAG(sendbuf->tag); TMPBUF(sreq) = NULL; REQ_PTL(sreq)->num_gets = 0; - REQ_PTL(sreq)->put_acked = 0; + REQ_PTL(sreq)->put_done = 0; if (sreq->dev.segment_size) { MPIDI_msg_sz_t last = sent_sz; @@ -456,7 +456,7 @@ int MPID_nem_ptl_nm_ctl_event_handler(const ptl_event_t *e) if (--REQ_PTL(req)->num_gets == 0) { MPIU_Free(TMPBUF(req)); - if (REQ_PTL(req)->put_acked) + if (REQ_PTL(req)->put_done) on_data_avail(req); /* Otherwise we'll do it on the SEND */ } } @@ -467,7 +467,7 @@ int MPID_nem_ptl_nm_ctl_event_handler(const ptl_event_t *e) MPID_Request *const req = e->user_ptr; MPIU_Free(SENDBUF(req)); - REQ_PTL(req)->put_acked = 1; + REQ_PTL(req)->put_done = 1; if (REQ_PTL(req)->num_gets == 0) /* Otherwise GET will do it */ on_data_avail(req); } diff --git a/src/mpid/ch3/channels/nemesis/netmod/portals4/ptl_send.c b/src/mpid/ch3/channels/nemesis/netmod/portals4/ptl_send.c index fb6d5f3..34a1b4f 100644 --- a/src/mpid/ch3/channels/nemesis/netmod/portals4/ptl_send.c +++ b/src/mpid/ch3/channels/nemesis/netmod/portals4/ptl_send.c @@ -104,13 +104,13 @@ static int handler_large(const ptl_event_t *e) MPIU_Assert(e->type == PTL_EVENT_SEND || e->type == PTL_EVENT_GET); if (e->type == PTL_EVENT_SEND) { - REQ_PTL(sreq)->put_acked = 1; + REQ_PTL(sreq)->put_done = 1; } else if (e->type == PTL_EVENT_GET) { /* decrement the remaining get operations */ REQ_PTL(sreq)->num_gets--; } - if (REQ_PTL(sreq)->num_gets == 0 && REQ_PTL(sreq)->put_acked) + if (REQ_PTL(sreq)->num_gets == 0 && REQ_PTL(sreq)->put_done) mpi_errno = handler_send_complete(e); fn_exit: http://git.mpich.org/mpich.git/commitdiff/f3fb46ae69b4e58ac4a2fdc8e2b13df966... commit f3fb46ae69b4e58ac4a2fdc8e2b13df9660d53ad Author: Antonio Pena Monferrer <[email protected]> Date: Thu Nov 13 11:52:28 2014 -0600 Use SEND instead of ACK events in Portals4 The rportals layer is taking care of retransmissions, so we should only be interested in delivery events in the netmod layer. Signed-off-by: Ken Raffenetti <[email protected]> diff --git a/src/mpid/ch3/channels/nemesis/netmod/portals4/ptl_poll.c b/src/mpid/ch3/channels/nemesis/netmod/portals4/ptl_poll.c index a6d4697..c016952 100644 --- a/src/mpid/ch3/channels/nemesis/netmod/portals4/ptl_poll.c +++ b/src/mpid/ch3/channels/nemesis/netmod/portals4/ptl_poll.c @@ -170,7 +170,6 @@ int MPID_nem_ptl_poll(int is_blocking_poll) } case PTL_EVENT_PUT_OVERFLOW: case PTL_EVENT_GET: - case PTL_EVENT_ACK: case PTL_EVENT_SEND: case PTL_EVENT_REPLY: case PTL_EVENT_SEARCH: { @@ -193,6 +192,7 @@ int MPID_nem_ptl_poll(int is_blocking_poll) case PTL_EVENT_LINK: /* ignore */ break; + case PTL_EVENT_ACK: default: MPIU_Error_printf("Received unexpected event type: %d %s", event.type, MPID_nem_ptl_strevent(&event)); MPIU_ERR_INTERNALANDJUMP(mpi_errno, "Unexpected event type"); diff --git a/src/mpid/ch3/channels/nemesis/netmod/portals4/ptl_send.c b/src/mpid/ch3/channels/nemesis/netmod/portals4/ptl_send.c index 022b541..fb6d5f3 100644 --- a/src/mpid/ch3/channels/nemesis/netmod/portals4/ptl_send.c +++ b/src/mpid/ch3/channels/nemesis/netmod/portals4/ptl_send.c @@ -66,10 +66,7 @@ static int handler_send_complete(const ptl_event_t *e) MPIDI_FUNC_ENTER(MPID_STATE_HANDLER_SEND_COMPLETE); - if (e->type == PTL_EVENT_SEND) /* Ignore */ - goto fn_exit; - - MPIU_Assert(e->type == PTL_EVENT_ACK || e->type == PTL_EVENT_GET); + MPIU_Assert(e->type == PTL_EVENT_SEND || e->type == PTL_EVENT_GET); if (REQ_PTL(sreq)->md != PTL_INVALID_HANDLE) { ret = PtlMDRelease(REQ_PTL(sreq)->md); @@ -104,20 +101,9 @@ static int handler_large(const ptl_event_t *e) MPIDI_FUNC_ENTER(MPID_STATE_HANDLER_LARGE); - if (e->type == PTL_EVENT_SEND) /* Ignore */ - goto fn_exit; + MPIU_Assert(e->type == PTL_EVENT_SEND || e->type == PTL_EVENT_GET); - if (e->type != PTL_EVENT_ACK && e->type != PTL_EVENT_GET) - MPIU_Error_printf("ACK event expected, received %s ni_fail=%s list=%s user_ptr=%p hdr_data=%#lx\n", - MPID_nem_ptl_strevent(e), MPID_nem_ptl_strnifail(e->ni_fail_type), - MPID_nem_ptl_strlist(e->ptl_list), e->user_ptr, e->hdr_data); - MPIU_Assert(e->type == PTL_EVENT_ACK || e->type == PTL_EVENT_GET); - - if (e->type == PTL_EVENT_ACK && e->mlength < PTL_LARGE_THRESHOLD) { - /* truncated message */ - mpi_errno = handler_send_complete(e); - if (mpi_errno) MPIU_ERR_POP(mpi_errno); - } else if (e->type == PTL_EVENT_ACK) { + if (e->type == PTL_EVENT_SEND) { REQ_PTL(sreq)->put_acked = 1; } else if (e->type == PTL_EVENT_GET) { /* decrement the remaining get operations */ @@ -271,7 +257,7 @@ static int send_msg(ptl_hdr_data_t ssend_flag, struct MPIDI_VC *vc, const void * MPIU_DBG_MSG(CH3_CHANNEL, VERBOSE, "Small contig message"); REQ_PTL(sreq)->event_handler = handler_send_complete; MPIU_DBG_MSG_P(CH3_CHANNEL, VERBOSE, "&REQ_PTL(sreq)->event_handler = %p", &(REQ_PTL(sreq)->event_handler)); - ret = MPID_nem_ptl_rptl_put(MPIDI_nem_ptl_global_md, (ptl_size_t)((char *)buf + dt_true_lb), data_sz, PTL_ACK_REQ, vc_ptl->id, vc_ptl->pt, + ret = MPID_nem_ptl_rptl_put(MPIDI_nem_ptl_global_md, (ptl_size_t)((char *)buf + dt_true_lb), data_sz, PTL_NO_ACK_REQ, vc_ptl->id, vc_ptl->pt, NPTL_MATCH(tag, comm->context_id + context_offset, comm->rank), 0, sreq, NPTL_HEADER(ssend_flag, data_sz)); MPIU_ERR_CHKANDJUMP1(ret, mpi_errno, MPI_ERR_OTHER, "**ptlput", "**ptlput %s", MPID_nem_ptl_strerror(ret)); @@ -308,7 +294,7 @@ static int send_msg(ptl_hdr_data_t ssend_flag, struct MPIDI_VC *vc, const void * MPIU_ERR_CHKANDJUMP1(ret, mpi_errno, MPI_ERR_OTHER, "**ptlmdbind", "**ptlmdbind %s", MPID_nem_ptl_strerror(ret)); REQ_PTL(sreq)->event_handler = handler_send_complete; - ret = MPID_nem_ptl_rptl_put(REQ_PTL(sreq)->md, 0, data_sz, PTL_ACK_REQ, vc_ptl->id, vc_ptl->pt, + ret = MPID_nem_ptl_rptl_put(REQ_PTL(sreq)->md, 0, data_sz, PTL_NO_ACK_REQ, vc_ptl->id, vc_ptl->pt, NPTL_MATCH(tag, comm->context_id + context_offset, comm->rank), 0, sreq, NPTL_HEADER(ssend_flag, data_sz)); MPIU_ERR_CHKANDJUMP1(ret, mpi_errno, MPI_ERR_OTHER, "**ptlput", "**ptlput %s", MPID_nem_ptl_strerror(ret)); @@ -325,7 +311,7 @@ static int send_msg(ptl_hdr_data_t ssend_flag, struct MPIDI_VC *vc, const void * MPID_Segment_pack(sreq->dev.segment_ptr, sreq->dev.segment_first, &last, REQ_PTL(sreq)->chunk_buffer[0]); MPIU_Assert(last == sreq->dev.segment_size); REQ_PTL(sreq)->event_handler = handler_send_complete; - ret = MPID_nem_ptl_rptl_put(MPIDI_nem_ptl_global_md, (ptl_size_t)REQ_PTL(sreq)->chunk_buffer[0], data_sz, PTL_ACK_REQ, + ret = MPID_nem_ptl_rptl_put(MPIDI_nem_ptl_global_md, (ptl_size_t)REQ_PTL(sreq)->chunk_buffer[0], data_sz, PTL_NO_ACK_REQ, vc_ptl->id, vc_ptl->pt, NPTL_MATCH(tag, comm->context_id + context_offset, comm->rank), 0, sreq, NPTL_HEADER(ssend_flag, data_sz)); MPIU_ERR_CHKANDJUMP1(ret, mpi_errno, MPI_ERR_OTHER, "**ptlput", "**ptlput %s", MPID_nem_ptl_strerror(ret)); @@ -342,7 +328,7 @@ static int send_msg(ptl_hdr_data_t ssend_flag, struct MPIDI_VC *vc, const void * REQ_PTL(sreq)->large = TRUE; REQ_PTL(sreq)->event_handler = handler_large; - ret = MPID_nem_ptl_rptl_put(MPIDI_nem_ptl_global_md, (ptl_size_t)((char *)buf + dt_true_lb), PTL_LARGE_THRESHOLD, PTL_ACK_REQ, vc_ptl->id, vc_ptl->pt, + ret = MPID_nem_ptl_rptl_put(MPIDI_nem_ptl_global_md, (ptl_size_t)((char *)buf + dt_true_lb), PTL_LARGE_THRESHOLD, PTL_NO_ACK_REQ, vc_ptl->id, vc_ptl->pt, NPTL_MATCH(tag, comm->context_id + context_offset, comm->rank), 0, sreq, NPTL_HEADER(ssend_flag | NPTL_LARGE, data_sz)); MPIU_ERR_CHKANDJUMP1(ret, mpi_errno, MPI_ERR_OTHER, "**ptlput", "**ptlput %s", MPID_nem_ptl_strerror(ret)); @@ -412,7 +398,7 @@ static int send_msg(ptl_hdr_data_t ssend_flag, struct MPIDI_VC *vc, const void * REQ_PTL(sreq)->large = TRUE; REQ_PTL(sreq)->event_handler = handler_large; - ret = MPID_nem_ptl_rptl_put(REQ_PTL(sreq)->md, 0, PTL_LARGE_THRESHOLD, PTL_ACK_REQ, vc_ptl->id, vc_ptl->pt, + ret = MPID_nem_ptl_rptl_put(REQ_PTL(sreq)->md, 0, PTL_LARGE_THRESHOLD, PTL_NO_ACK_REQ, vc_ptl->id, vc_ptl->pt, NPTL_MATCH(tag, comm->context_id + context_offset, comm->rank), 0, sreq, NPTL_HEADER(ssend_flag | NPTL_LARGE, data_sz)); MPIU_ERR_CHKANDJUMP1(ret, mpi_errno, MPI_ERR_OTHER, "**ptlput", "**ptlput %s", MPID_nem_ptl_strerror(ret)); @@ -437,7 +423,7 @@ static int send_msg(ptl_hdr_data_t ssend_flag, struct MPIDI_VC *vc, const void * REQ_PTL(sreq)->event_handler = handler_large; ret = MPID_nem_ptl_rptl_put(MPIDI_nem_ptl_global_md, (ptl_size_t)REQ_PTL(sreq)->chunk_buffer[0], PTL_LARGE_THRESHOLD, - PTL_ACK_REQ, vc_ptl->id, vc_ptl->pt, NPTL_MATCH(tag, comm->context_id + context_offset, comm->rank), + PTL_NO_ACK_REQ, vc_ptl->id, vc_ptl->pt, NPTL_MATCH(tag, comm->context_id + context_offset, comm->rank), 0, sreq, NPTL_HEADER(ssend_flag | NPTL_LARGE, data_sz)); MPIU_ERR_CHKANDJUMP1(ret, mpi_errno, MPI_ERR_OTHER, "**ptlput", "**ptlput %s", MPID_nem_ptl_strerror(ret)); DBG_MSG_PUT("global", PTL_LARGE_THRESHOLD, vc->pg_rank, NPTL_MATCH(tag, comm->context_id + context_offset, comm->rank), NPTL_HEADER(ssend_flag | NPTL_LARGE, data_sz)); ----------------------------------------------------------------------- Summary of changes: .../channels/nemesis/netmod/portals4/ptl_impl.h | 4 +- .../ch3/channels/nemesis/netmod/portals4/ptl_nm.c | 8 ++-- .../channels/nemesis/netmod/portals4/ptl_poll.c | 2 +- .../channels/nemesis/netmod/portals4/ptl_send.c | 36 ++++++-------------- 4 files changed, 18 insertions(+), 32 deletions(-) hooks/post-receive -- MPICH primary repository