[mpich-commits] [mpich] MPICH primary repository branch, master, updated. v3.2a1-42-ge4fb945

Service Account noreply at mpich.org
Fri Oct 3 12:57:21 CDT 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  e4fb945f8c0ebff106d3c5758420c9311274e148 (commit)
      from  32f3a924162eeaf9fb322cbb0ef70497c70d22d9 (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/e4fb945f8c0ebff106d3c5758420c9311274e148

commit e4fb945f8c0ebff106d3c5758420c9311274e148
Author: Igor Ivanov <Igor.Ivanov at itseez.com>
Date:   Fri Oct 3 12:50:19 2014 +0300

    netmode/mxm: Fix issue in anysource match
    
    - Fix issue in anysource match;
    - Improve debug output;
    
    Signed-off-by: Igor Ivanov <Igor.Ivanov at itseez.com>
    Signed-off-by: Pavan Balaji <balaji at anl.gov>

diff --git a/src/mpid/ch3/channels/nemesis/netmod/mxm/mxm_cancel.c b/src/mpid/ch3/channels/nemesis/netmod/mxm/mxm_cancel.c
index 202d149..ec96b7f 100644
--- a/src/mpid/ch3/channels/nemesis/netmod/mxm/mxm_cancel.c
+++ b/src/mpid/ch3/channels/nemesis/netmod/mxm/mxm_cancel.c
@@ -69,7 +69,7 @@ int MPID_nem_mxm_cancel_recv(MPIDI_VC_t * vc, MPID_Request * req)
     _dbg_mxm_out_req(req);
 
   fn_exit:
-    /* This function returns sero in case request is canceled
+    /* This function returns zero in case request is canceled
      * and nonzero otherwise
      */
     return (!MPIR_STATUS_GET_CANCEL_BIT(req->status));
diff --git a/src/mpid/ch3/channels/nemesis/netmod/mxm/mxm_poll.c b/src/mpid/ch3/channels/nemesis/netmod/mxm/mxm_poll.c
index 0defcbb..ba7686e 100644
--- a/src/mpid/ch3/channels/nemesis/netmod/mxm/mxm_poll.c
+++ b/src/mpid/ch3/channels/nemesis/netmod/mxm/mxm_poll.c
@@ -125,11 +125,8 @@ int MPID_nem_mxm_anysource_matched(MPID_Request * req)
 
     req_area = REQ_BASE(req);
     ret = mxm_req_cancel_recv(&req_area->mxm_req->item.recv);
-    if ((MXM_OK == ret) || (MXM_ERR_NO_PROGRESS == ret)) {
-        MPID_Segment_free(req->dev.segment_ptr);
-    }
-    else {
-        _mxm_req_wait(&req_area->mxm_req->item.base);
+    mxm_req_wait(&req_area->mxm_req->item.base);
+    if ((MXM_OK != ret) && (MXM_ERR_NO_PROGRESS != ret)) {
         matched = TRUE;
     }
 
@@ -173,7 +170,7 @@ int MPID_nem_mxm_recv(MPIDI_VC_t * vc, MPID_Request * rreq)
         rreq->ch.noncontig = FALSE;
 
         _dbg_mxm_output(5,
-                        "Recv ========> Getting USER msg for req %p (context %d rank %d tag %d size %d) \n",
+                        "Recv ========> Getting USER msg for req %p (context %d from %d tag %d size %d) \n",
                         rreq, context_id, rreq->dev.match.parts.rank, tag, data_sz);
 
         vc_area = VC_BASE(vc);
@@ -244,7 +241,6 @@ static int _mxm_handle_rreq(MPID_Request * req)
     vc_area = VC_BASE(req->ch.vc);
     req_area = REQ_BASE(req);
 
-    _dbg_mxm_output(5, "========> Completing RECV req %p status %d\n", req, req->status.MPI_ERROR);
     _dbg_mxm_out_buf(req_area->iov_buf[0].ptr,
                      (req_area->iov_buf[0].length >
                       16 ? 16 : req_area->iov_buf[0].length));
@@ -297,8 +293,6 @@ static int _mxm_handle_rreq(MPID_Request * req)
                 iov = MPIU_Malloc(n_iov * sizeof(*iov));
                 MPIU_Assert(iov);
 
-                n_iov = req_area->iov_count;
-                iov_buf = req_area->iov_buf;
                 for (index = 0; index < n_iov; index++) {
                     iov[index].MPID_IOV_BUF = iov_buf[index].ptr;
                     iov[index].MPID_IOV_LEN = iov_buf[index].length;
@@ -360,6 +354,10 @@ static void _mxm_recv_completion_cb(void *context)
         list_enqueue(&mxm_obj->free_queue, &req_area->mxm_req->queue);
     }
 
+    _dbg_mxm_output(5, "========> %s RECV req %p status %d\n",
+                    (MPIR_STATUS_GET_CANCEL_BIT(req->status) ? "Canceling" : "Completing"),
+                    req, req->status.MPI_ERROR);
+
     if (likely(!MPIR_STATUS_GET_CANCEL_BIT(req->status))) {
         _mxm_handle_rreq(req);
     }
@@ -411,12 +409,7 @@ static int _mxm_irecv(MPID_nem_mxm_ep_t * ep, MPID_nem_mxm_req_area * req, int i
 
     ret = mxm_req_recv(mxm_rreq);
     if (MXM_OK != ret) {
-        if (ep) {
-            list_enqueue(&ep->free_queue, &req->mxm_req->queue);
-        }
-        else {
-            list_enqueue(&mxm_obj->free_queue, &req->mxm_req->queue);
-        }
+        list_enqueue(free_queue, &req->mxm_req->queue);
         mpi_errno = MPI_ERR_OTHER;
         goto fn_fail;
     }
diff --git a/src/mpid/ch3/channels/nemesis/netmod/mxm/mxm_send.c b/src/mpid/ch3/channels/nemesis/netmod/mxm/mxm_send.c
index f91edf3..b817459 100644
--- a/src/mpid/ch3/channels/nemesis/netmod/mxm/mxm_send.c
+++ b/src/mpid/ch3/channels/nemesis/netmod/mxm/mxm_send.c
@@ -248,8 +248,8 @@ int MPID_nem_mxm_send(MPIDI_VC_t * vc, const void *buf, int count, MPI_Datatype
     sreq->ch.noncontig = FALSE;
 
     _dbg_mxm_output(5,
-                    "Send ========> Sending USER msg for req %p (context %d rank %d tag %d size %d) \n",
-                    sreq, comm->context_id + context_offset, comm->rank, tag, data_sz);
+                    "Send ========> Sending USER msg for req %p (context %d to %d tag %d size %d) \n",
+                    sreq, comm->context_id + context_offset, rank, tag, data_sz);
 
     vc_area = VC_BASE(vc);
     req_area = REQ_BASE(sreq);
@@ -350,8 +350,8 @@ int MPID_nem_mxm_ssend(MPIDI_VC_t * vc, const void *buf, int count, MPI_Datatype
     sreq->ch.noncontig = FALSE;
 
     _dbg_mxm_output(5,
-                    "sSend ========> Sending USER msg for req %p (context %d rank %d tag %d size %d) \n",
-                    sreq, comm->context_id + context_offset, comm->rank, tag, data_sz);
+                    "sSend ========> Sending USER msg for req %p (context %d to %d tag %d size %d) \n",
+                    sreq, comm->context_id + context_offset, rank, tag, data_sz);
 
     vc_area = VC_BASE(vc);
     req_area = REQ_BASE(sreq);
@@ -452,8 +452,8 @@ int MPID_nem_mxm_isend(MPIDI_VC_t * vc, const void *buf, int count, MPI_Datatype
     sreq->ch.noncontig = FALSE;
 
     _dbg_mxm_output(5,
-                    "iSend ========> Sending USER msg for req %p (context %d rank %d tag %d size %d) \n",
-                    sreq, comm->context_id + context_offset, comm->rank, tag, data_sz);
+                    "iSend ========> Sending USER msg for req %p (context %d to %d tag %d size %d) \n",
+                    sreq, comm->context_id + context_offset, rank, tag, data_sz);
 
     vc_area = VC_BASE(vc);
     req_area = REQ_BASE(sreq);
@@ -555,8 +555,8 @@ int MPID_nem_mxm_issend(MPIDI_VC_t * vc, const void *buf, int count, MPI_Datatyp
     sreq->ch.noncontig = FALSE;
 
     _dbg_mxm_output(5,
-                    "isSend ========> Sending USER msg for req %p (context %d rank %d tag %d size %d) \n",
-                    sreq, comm->context_id + context_offset, comm->rank, tag, data_sz);
+                    "isSend ========> Sending USER msg for req %p (context %d to %d tag %d size %d) \n",
+                    sreq, comm->context_id + context_offset, rank, tag, data_sz);
 
     vc_area = VC_BASE(vc);
     req_area = REQ_BASE(sreq);
@@ -629,7 +629,6 @@ static int _mxm_handle_sreq(MPID_Request * req)
     vc_area = VC_BASE(req->ch.vc);
     req_area = REQ_BASE(req);
 
-    _dbg_mxm_output(5, "========> Completing SEND req %p status %d\n", req, req->status.MPI_ERROR);
     _dbg_mxm_out_buf(req_area->iov_buf[0].ptr,
                      (req_area->iov_buf[0].length >
                       16 ? 16 : req_area->iov_buf[0].length));
@@ -679,6 +678,10 @@ static void _mxm_send_completion_cb(void *context)
 
     list_enqueue(&vc_area->mxm_ep->free_queue, &req_area->mxm_req->queue);
 
+    _dbg_mxm_output(5, "========> %s SEND req %p status %d\n",
+                    (MPIR_STATUS_GET_CANCEL_BIT(req->status) ? "Canceling" : "Completing"),
+                    req, req->status.MPI_ERROR);
+
     if (likely(!MPIR_STATUS_GET_CANCEL_BIT(req->status))) {
         _mxm_handle_sreq(req);
     }
@@ -750,7 +753,7 @@ static int _mxm_isend(MPID_nem_mxm_ep_t * ep, MPID_nem_mxm_req_area * req,
 
     ret = mxm_req_send(mxm_sreq);
     if (MXM_OK != ret) {
-        list_enqueue(&ep->free_queue, &req->mxm_req->queue);
+        list_enqueue(free_queue, &req->mxm_req->queue);
         mpi_errno = MPI_ERR_OTHER;
         goto fn_fail;
     }

-----------------------------------------------------------------------

Summary of changes:
 .../ch3/channels/nemesis/netmod/mxm/mxm_cancel.c   |    2 +-
 .../ch3/channels/nemesis/netmod/mxm/mxm_poll.c     |   23 +++++++-------------
 .../ch3/channels/nemesis/netmod/mxm/mxm_send.c     |   23 +++++++++++--------
 3 files changed, 22 insertions(+), 26 deletions(-)


hooks/post-receive
-- 
MPICH primary repository


More information about the commits mailing list