[mpich-commits] [mpich] MPICH primary repository branch, master, updated. v3.1.3-207-gb2c8d88

Service Account noreply at mpich.org
Thu Nov 13 19:36:25 CST 2014


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/b2c8d888caf4e3b45ec29fbff34b469ceceba549

commit b2c8d888caf4e3b45ec29fbff34b469ceceba549
Author: Ken Raffenetti <raffenet at mcs.anl.gov>
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 <apenya at mcs.anl.gov>

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/f3fb46ae69b4e58ac4a2fdc8e2b13df9660d53ad

commit f3fb46ae69b4e58ac4a2fdc8e2b13df9660d53ad
Author: Antonio Pena Monferrer <apenya at mcs.anl.gov>
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 <raffenet at mcs.anl.gov>

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


More information about the commits mailing list