[mpich-commits] [mpich] MPICH primary repository branch, master, updated. v3.2a2-131-g9a9ffb7

Service Account noreply at mpich.org
Tue Feb 3 10:24:03 CST 2015


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  9a9ffb76c216ae3051e8f02163ba30abf55eeaf0 (commit)
      from  4d676d9b5b5f709759e0dfcdcc54b9d1e6771174 (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/9a9ffb76c216ae3051e8f02163ba30abf55eeaf0

commit 9a9ffb76c216ae3051e8f02163ba30abf55eeaf0
Author: Wesley Bland <wbland at anl.gov>
Date:   Mon Feb 2 17:54:47 2015 -0600

    Moves errflag in request from device to top level
    
    The errflag in the request object is used in common code and should not
    have been put in device specific code. This moves it up to the
    MPI_Request object.
    
    Signed-off-by: Sameh Sharkawi <sssharka at us.ibm.com>

diff --git a/src/include/mpiimpl.h b/src/include/mpiimpl.h
index 90c28e3..4204466 100644
--- a/src/include/mpiimpl.h
+++ b/src/include/mpiimpl.h
@@ -1509,6 +1509,9 @@ typedef struct MPID_Request {
 
     struct MPIR_Sendq *dbg_next;
 
+    /* Errflag for NBC requests. Not used by other requests. */
+    mpir_errflag_t errflag;
+
     /* Other, device-specific information */
 #ifdef MPID_DEV_REQUEST_DECL
     MPID_DEV_REQUEST_DECL
diff --git a/src/mpid/ch3/include/mpidpre.h b/src/mpid/ch3/include/mpidpre.h
index 6b379cb..2bb62b2 100644
--- a/src/mpid/ch3/include/mpidpre.h
+++ b/src/mpid/ch3/include/mpidpre.h
@@ -446,9 +446,6 @@ typedef struct MPIDI_Request {
     struct MPIDI_RMA_Lock_entry *lock_queue_entry;
     MPI_Request resp_request_handle; /* Handle for get_accumulate response */
 
-	/* Errflag for NBC requests. Not used by other requests. */
-	mpir_errflag_t errflag;
-
     MPIDI_REQUEST_SEQNUM
 
     /* Occasionally, when a message cannot be sent, we need to cache the
diff --git a/src/mpid/ch3/src/ch3u_request.c b/src/mpid/ch3/src/ch3u_request.c
index 19c0747..d9bdac0 100644
--- a/src/mpid/ch3/src/ch3u_request.c
+++ b/src/mpid/ch3/src/ch3u_request.c
@@ -73,6 +73,7 @@ MPID_Request * MPID_Request_create(void)
         MPIR_STATUS_SET_CANCEL_BIT(req->status, FALSE);
 	req->comm		   = NULL;
         req->greq_fns              = NULL;
+        req->errflag               = MPIR_ERR_NONE;
 	req->dev.datatype_ptr	   = NULL;
 	req->dev.segment_ptr	   = NULL;
 	/* Masks and flags for channel device state in an MPID_Request */
@@ -94,7 +95,6 @@ MPID_Request * MPID_Request_create(void)
         req->dev.user_buf          = NULL;
         req->dev.final_user_buf    = NULL;
         req->dev.drop_data         = FALSE;
-        req->dev.errflag           = MPIR_ERR_NONE;
 #ifdef MPIDI_CH3_REQUEST_INIT
 	MPIDI_CH3_REQUEST_INIT(req);
 #endif
diff --git a/src/mpid/common/sched/mpid_sched.c b/src/mpid/common/sched/mpid_sched.c
index 86027cd..ecda136 100644
--- a/src/mpid/common/sched/mpid_sched.c
+++ b/src/mpid/common/sched/mpid_sched.c
@@ -140,29 +140,29 @@ static int MPIDU_Sched_start_entry(struct MPIDU_Sched *s, size_t idx, struct MPI
                  * &send.count, but this requires patching up the pointers
                  * during realloc of entries, so this is easier */
                 ret_errno = MPIC_Isend(e->u.send.buf, *e->u.send.count_p, e->u.send.datatype,
-                                       e->u.send.dest, s->tag, comm, &e->u.send.sreq, &r->dev.errflag);
+                                       e->u.send.dest, s->tag, comm, &e->u.send.sreq, &r->errflag);
             }
             else {
                 if (e->u.send.is_sync) {
                     ret_errno = MPIC_Issend(e->u.send.buf, e->u.send.count, e->u.send.datatype,
-                                            e->u.send.dest, s->tag, comm, &e->u.send.sreq, &r->dev.errflag);
+                                            e->u.send.dest, s->tag, comm, &e->u.send.sreq, &r->errflag);
                 }
                 else {
                     ret_errno = MPIC_Isend(e->u.send.buf, e->u.send.count, e->u.send.datatype,
-                                           e->u.send.dest, s->tag, comm, &e->u.send.sreq, &r->dev.errflag);
+                                           e->u.send.dest, s->tag, comm, &e->u.send.sreq, &r->errflag);
                 }
             }
             /* Check if the error is actually fatal to the NBC or we can continue. */
             if (unlikely(ret_errno)) {
-                if (MPIR_ERR_NONE == r->dev.errflag) {
+                if (MPIR_ERR_NONE == r->errflag) {
                     if (MPIX_ERR_PROC_FAILED == MPIR_ERR_GET_CLASS(ret_errno)) {
-                        r->dev.errflag = MPIR_ERR_PROC_FAILED;
+                        r->errflag = MPIR_ERR_PROC_FAILED;
                     } else {
-                        r->dev.errflag = MPIR_ERR_OTHER;
+                        r->errflag = MPIR_ERR_OTHER;
                     }
                 }
                 e->status = MPIDU_SCHED_ENTRY_STATUS_FAILED;
-                MPIU_DBG_MSG_D(COMM, VERBOSE, "Sched SEND failed. Errflag: %d\n", (int) r->dev.errflag);
+                MPIU_DBG_MSG_D(COMM, VERBOSE, "Sched SEND failed. Errflag: %d\n", (int) r->errflag);
             } else {
                 e->status = MPIDU_SCHED_ENTRY_STATUS_STARTED;
             }
@@ -174,15 +174,15 @@ static int MPIDU_Sched_start_entry(struct MPIDU_Sched *s, size_t idx, struct MPI
                                    e->u.recv.src, s->tag, comm, &e->u.recv.rreq);
             /* Check if the error is actually fatal to the NBC or we can continue. */
             if (unlikely(ret_errno)) {
-                if (MPIR_ERR_NONE == r->dev.errflag) {
+                if (MPIR_ERR_NONE == r->errflag) {
                     if (MPIX_ERR_PROC_FAILED == MPIR_ERR_GET_CLASS(ret_errno)) {
-                        r->dev.errflag = MPIR_ERR_PROC_FAILED;
+                        r->errflag = MPIR_ERR_PROC_FAILED;
                     } else {
-                        r->dev.errflag = MPIR_ERR_OTHER;
+                        r->errflag = MPIR_ERR_OTHER;
                     }
                 }
                 e->status = MPIDU_SCHED_ENTRY_STATUS_FAILED;
-                MPIU_DBG_MSG_D(COMM, VERBOSE, "Sched SEND failed. Errflag: %d\n", (int) r->dev.errflag);
+                MPIU_DBG_MSG_D(COMM, VERBOSE, "Sched SEND failed. Errflag: %d\n", (int) r->errflag);
             } else {
                 e->status = MPIDU_SCHED_ENTRY_STATUS_STARTED;
             }
@@ -218,11 +218,11 @@ static int MPIDU_Sched_start_entry(struct MPIDU_Sched *s, size_t idx, struct MPI
             if (e->u.cb.cb_type == MPIDU_SCHED_CB_TYPE_1) {
                 ret_errno = e->u.cb.u.cb_p(r->comm, s->tag, e->u.cb.cb_state);
                 if (unlikely(ret_errno)) {
-                    if (MPIR_ERR_NONE == r->dev.errflag) {
+                    if (MPIR_ERR_NONE == r->errflag) {
                         if (MPIX_ERR_PROC_FAILED == MPIR_ERR_GET_CLASS(ret_errno)) {
-                            r->dev.errflag = MPIR_ERR_PROC_FAILED;
+                            r->errflag = MPIR_ERR_PROC_FAILED;
                         } else {
-                            r->dev.errflag = MPIR_ERR_OTHER;
+                            r->errflag = MPIR_ERR_OTHER;
                         }
                     }
                     e->status = MPIDU_SCHED_ENTRY_STATUS_FAILED;
@@ -233,11 +233,11 @@ static int MPIDU_Sched_start_entry(struct MPIDU_Sched *s, size_t idx, struct MPI
             else if (e->u.cb.cb_type == MPIDU_SCHED_CB_TYPE_2) {
                 ret_errno = e->u.cb.u.cb2_p(r->comm, s->tag, e->u.cb.cb_state, e->u.cb.cb_state2);
                 if (unlikely(ret_errno)) {
-                    if (MPIR_ERR_NONE == r->dev.errflag) {
+                    if (MPIR_ERR_NONE == r->errflag) {
                         if (MPIX_ERR_PROC_FAILED == MPIR_ERR_GET_CLASS(ret_errno)) {
-                            r->dev.errflag = MPIR_ERR_PROC_FAILED;
+                            r->errflag = MPIR_ERR_PROC_FAILED;
                         } else {
-                            r->dev.errflag = MPIR_ERR_OTHER;
+                            r->errflag = MPIR_ERR_OTHER;
                         }
                     }
                     e->status = MPIDU_SCHED_ENTRY_STATUS_FAILED;
@@ -841,7 +841,7 @@ static int MPIDU_Sched_progress_state(struct MPIDU_Sched_state *state, int *made
                 case MPIDU_SCHED_ENTRY_SEND:
                     if (e->u.send.sreq != NULL && MPID_Request_is_complete(e->u.send.sreq)) {
                         MPIU_DBG_MSG_FMT(COMM, VERBOSE, (MPIU_DBG_FDEST, "completed SEND entry %d, sreq=%p\n", (int) i, e->u.send.sreq));
-                        if (s->req->dev.errflag != MPIR_ERR_NONE)
+                        if (s->req->errflag != MPIR_ERR_NONE)
                             e->status = MPIDU_SCHED_ENTRY_STATUS_FAILED;
                         else
                             e->status = MPIDU_SCHED_ENTRY_STATUS_COMPLETE;
@@ -854,9 +854,9 @@ static int MPIDU_Sched_progress_state(struct MPIDU_Sched_state *state, int *made
                 case MPIDU_SCHED_ENTRY_RECV:
                     if (e->u.recv.rreq != NULL && MPID_Request_is_complete(e->u.recv.rreq)) {
                         MPIU_DBG_MSG_FMT(COMM, VERBOSE, (MPIU_DBG_FDEST, "completed RECV entry %d, rreq=%p\n", (int) i, e->u.recv.rreq));
-                        MPIR_Process_status(&e->u.recv.rreq->status, &s->req->dev.errflag);
+                        MPIR_Process_status(&e->u.recv.rreq->status, &s->req->errflag);
                         MPIR_Request_extract_status(e->u.recv.rreq, e->u.recv.status);
-                        if (s->req->dev.errflag != MPIR_ERR_NONE)
+                        if (s->req->errflag != MPIR_ERR_NONE)
                             e->status = MPIDU_SCHED_ENTRY_STATUS_FAILED;
                         else
                             e->status = MPIDU_SCHED_ENTRY_STATUS_COMPLETE;
@@ -894,7 +894,7 @@ static int MPIDU_Sched_progress_state(struct MPIDU_Sched_state *state, int *made
             MPL_DL_DELETE(state->head, s);
 
             /* TODO refactor into a sched_complete routine? */
-            switch (s->req->dev.errflag) {
+            switch (s->req->errflag) {
                 case MPIR_ERR_PROC_FAILED:
                     MPIU_ERR_SET(s->req->status.MPI_ERROR, MPIX_ERR_PROC_FAILED, "**comm");
                     break;

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

Summary of changes:
 src/include/mpiimpl.h              |    3 ++
 src/mpid/ch3/include/mpidpre.h     |    3 --
 src/mpid/ch3/src/ch3u_request.c    |    2 +-
 src/mpid/common/sched/mpid_sched.c |   42 ++++++++++++++++++------------------
 4 files changed, 25 insertions(+), 25 deletions(-)


hooks/post-receive
-- 
MPICH primary repository


More information about the commits mailing list