[mpich-commits] [mpich] MPICH primary repository branch, master, updated. v3.1-261-g1e171ff

Service Account noreply at mpich.org
Thu May 22 10:44:35 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  1e171ff6062d69d8d32a49373b60d4a8793bcee2 (commit)
      from  6b5993af5cd4aadd6648c024a6b815749c35f8a6 (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/1e171ff6062d69d8d32a49373b60d4a8793bcee2

commit 1e171ff6062d69d8d32a49373b60d4a8793bcee2
Author: Wesley Bland <wbland at anl.gov>
Date:   Wed May 21 11:32:41 2014 -0500

    Make handling of request cleanup more uniform
    
    There are quite a few places where the request cleanup is done via:
    
    MPIU_Object_set_ref(req, 0);
    MPIDI_CH3_Request_destroy(req);
    
    when it should be:
    
    MPID_Request_release(req);
    
    This makes the handling more uniform so requests are cleaned up by releasing
    references rather than hitting them with the destroy hammer.
    
    Fixes #1664
    
    Signed-off-by: Ken Raffenetti <raffenet at mcs.anl.gov>

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 544a900..59bcd3e 100644
--- a/src/mpid/ch3/channels/nemesis/netmod/portals4/ptl_send.c
+++ b/src/mpid/ch3/channels/nemesis/netmod/portals4/ptl_send.c
@@ -449,8 +449,7 @@ static int send_msg(ptl_hdr_data_t ssend_flag, struct MPIDI_VC *vc, const void *
     return mpi_errno;
  fn_fail:
     if (sreq) {
-        MPIU_Object_set_ref(sreq, 0);
-        MPIDI_CH3_Request_destroy(sreq);
+        MPID_Request_release(sreq);
         sreq = NULL;
     }
     MPIU_CHKPMEM_REAP();
diff --git a/src/mpid/ch3/channels/nemesis/netmod/scif/scif_send.c b/src/mpid/ch3/channels/nemesis/netmod/scif/scif_send.c
index a9b1886..1c0d345 100644
--- a/src/mpid/ch3/channels/nemesis/netmod/scif/scif_send.c
+++ b/src/mpid/ch3/channels/nemesis/netmod/scif/scif_send.c
@@ -457,8 +457,7 @@ int MPID_nem_scif_SendNoncontig(MPIDI_VC_t * vc, MPID_Request * sreq, void *head
     MPIDI_FUNC_EXIT(MPID_STATE_MPID_NEM_SCIF_SENDNONCONTIG);
     return mpi_errno;
   fn_fail:
-    MPIU_Object_set_ref(sreq, 0);
-    MPIDI_CH3_Request_destroy(sreq);
+    MPID_Request_release(sreq);
     goto fn_exit;
 }
 
diff --git a/src/mpid/ch3/channels/nemesis/netmod/tcp/tcp_send.c b/src/mpid/ch3/channels/nemesis/netmod/tcp/tcp_send.c
index 8031092..d250ef6 100644
--- a/src/mpid/ch3/channels/nemesis/netmod/tcp/tcp_send.c
+++ b/src/mpid/ch3/channels/nemesis/netmod/tcp/tcp_send.c
@@ -805,8 +805,7 @@ fn_exit:
     MPIDI_FUNC_EXIT(MPID_STATE_MPID_NEM_TCP_SENDNONCONTIG);
     return mpi_errno;
 fn_fail:
-    MPIU_Object_set_ref(sreq, 0);
-    MPIDI_CH3_Request_destroy(sreq);
+    MPID_Request_release(sreq);
     goto fn_exit;
 }
 
diff --git a/src/mpid/ch3/channels/nemesis/netmod/wintcp/wintcp_send.c b/src/mpid/ch3/channels/nemesis/netmod/wintcp/wintcp_send.c
index 9166117..1cc7c18 100644
--- a/src/mpid/ch3/channels/nemesis/netmod/wintcp/wintcp_send.c
+++ b/src/mpid/ch3/channels/nemesis/netmod/wintcp/wintcp_send.c
@@ -616,7 +616,6 @@ int MPID_nem_newtcp_SendNoncontig(MPIDI_VC_t *vc, MPID_Request *sreq, void *head
  fn_exit:
     return mpi_errno;
  fn_fail:
-    MPIU_Object_set_ref(sreq, 0);
-    MPIDI_CH3_Request_destroy(sreq);
+    MPID_Request_release(sreq);
     goto fn_exit;
 }
diff --git a/src/mpid/ch3/src/ch3u_eager.c b/src/mpid/ch3/src/ch3u_eager.c
index 3d185f8..bbcd179 100644
--- a/src/mpid/ch3/src/ch3u_eager.c
+++ b/src/mpid/ch3/src/ch3u_eager.c
@@ -47,8 +47,7 @@ int MPIDI_CH3_SendNoncontig_iov( MPIDI_VC_t *vc, MPID_Request *sreq,
 	/* --BEGIN ERROR HANDLING-- */
 	if (mpi_errno != MPI_SUCCESS)
 	{
-	    MPIU_Object_set_ref(sreq, 0);
-	    MPIDI_CH3_Request_destroy(sreq);
+            MPID_Request_release(sreq);
             MPIU_ERR_SETANDJUMP(mpi_errno, MPI_ERR_OTHER, "**ch3|eagermsg");
 	}
 	/* --END ERROR HANDLING-- */
@@ -59,8 +58,7 @@ int MPIDI_CH3_SendNoncontig_iov( MPIDI_VC_t *vc, MPID_Request *sreq,
     else
     {
 	/* --BEGIN ERROR HANDLING-- */
-	MPIU_Object_set_ref(sreq, 0);
-	MPIDI_CH3_Request_destroy(sreq);
+        MPID_Request_release(sreq);
         MPIU_ERR_SETANDJUMP(mpi_errno, MPI_ERR_OTHER, "**ch3|loadsendiov");
 	/* --END ERROR HANDLING-- */
     }
@@ -552,8 +550,7 @@ int MPIDI_CH3_EagerContigIsend( MPID_Request **sreq_p,
     /* --BEGIN ERROR HANDLING-- */
     if (mpi_errno != MPI_SUCCESS)
     {
-	MPIU_Object_set_ref(sreq, 0);
-	MPIDI_CH3_Request_destroy(sreq);
+        MPID_Request_release(sreq);
 	*sreq_p = NULL;
         MPIU_ERR_SETANDJUMP(mpi_errno, MPI_ERR_OTHER, "**ch3|eagermsg");
     }
diff --git a/src/mpid/ch3/src/ch3u_eagersync.c b/src/mpid/ch3/src/ch3u_eagersync.c
index 109a3cf..a85dc22 100644
--- a/src/mpid/ch3/src/ch3u_eagersync.c
+++ b/src/mpid/ch3/src/ch3u_eagersync.c
@@ -79,8 +79,7 @@ int MPIDI_CH3_EagerSyncNoncontigSend( MPID_Request **sreq_p,
 	/* --BEGIN ERROR HANDLING-- */
 	if (mpi_errno != MPI_SUCCESS)
 	{
-	    MPIU_Object_set_ref(sreq, 0);
-	    MPIDI_CH3_Request_destroy(sreq);
+	    MPID_Request_release(sreq);
 	    *sreq_p = NULL;
             MPIU_ERR_SETANDJUMP(mpi_errno, MPI_ERR_OTHER, "**ch3|eagermsg");
 	}
@@ -151,8 +150,7 @@ int MPIDI_CH3_EagerSyncZero(MPID_Request **sreq_p, int rank, int tag,
     /* --BEGIN ERROR HANDLING-- */
     if (mpi_errno != MPI_SUCCESS)
     {
-	MPIU_Object_set_ref(sreq, 0);
-	MPIDI_CH3_Request_destroy(sreq);
+	MPID_Request_release(sreq);
 	*sreq_p = NULL;
         MPIU_ERR_SETANDJUMP(mpi_errno, MPI_ERR_OTHER, "**ch3|eagermsg");
     }
diff --git a/src/mpid/ch3/src/ch3u_handle_recv_req.c b/src/mpid/ch3/src/ch3u_handle_recv_req.c
index e67dfe1..4d07c94 100644
--- a/src/mpid/ch3/src/ch3u_handle_recv_req.c
+++ b/src/mpid/ch3/src/ch3u_handle_recv_req.c
@@ -380,8 +380,7 @@ int MPIDI_CH3_ReqHandler_GetRespDerivedDTComplete( MPIDI_VC_t *vc,
     /* --BEGIN ERROR HANDLING-- */
     if (mpi_errno != MPI_SUCCESS)
     {
-        MPIU_Object_set_ref(sreq, 0);
-        MPIDI_CH3_Request_destroy(sreq);
+        MPID_Request_release(sreq);
         sreq = NULL;
         MPIU_ERR_SETANDJUMP(mpi_errno,MPI_ERR_OTHER,"**ch3|rmamsg");
     }
@@ -581,8 +580,7 @@ int MPIDI_CH3_ReqHandler_FOPComplete( MPIDI_VC_t *vc,
     /* --BEGIN ERROR HANDLING-- */
  fn_fail:
     if (resp_req != NULL) {
-        MPIU_Object_set_ref(resp_req, 0);
-        MPIDI_CH3_Request_destroy(resp_req);
+        MPID_Request_release(resp_req);
     }
     goto fn_exit;
     /* --END ERROR HANDLING-- */
@@ -1209,8 +1207,7 @@ static int do_simple_get(MPID_Win *win_ptr, MPIDI_Win_lock_queue *lock_queue)
     /* --BEGIN ERROR HANDLING-- */
     if (mpi_errno != MPI_SUCCESS)
     {
-        MPIU_Object_set_ref(req, 0);
-        MPIDI_CH3_Request_destroy(req);
+        MPID_Request_release(req);
 	MPIU_ERR_SETANDJUMP(mpi_errno,MPI_ERR_OTHER,"**ch3|rmamsg");
     }
     /* --END ERROR HANDLING-- */
diff --git a/src/mpid/ch3/src/ch3u_rma_sync.c b/src/mpid/ch3/src/ch3u_rma_sync.c
index f3c9759..5a5b942 100644
--- a/src/mpid/ch3/src/ch3u_rma_sync.c
+++ b/src/mpid/ch3/src/ch3u_rma_sync.c
@@ -1498,16 +1498,14 @@ static int MPIDI_CH3I_Send_rma_msg(MPIDI_RMA_Op_t *rma_op, MPID_Win *win_ptr,
     /* --BEGIN ERROR HANDLING-- */
  fn_fail:
     if (resp_req) {
-        MPIU_Object_set_ref(resp_req, 0);
-        MPIDI_CH3_Request_destroy(resp_req);
+        MPID_Request_release(resp_req);
     }
     if (*request)
     {
         MPIU_CHKPMEM_REAP();
         if ((*request)->dev.datatype_ptr)
             MPID_Datatype_release((*request)->dev.datatype_ptr);
-        MPIU_Object_set_ref(*request, 0);
-        MPIDI_CH3_Request_destroy(*request);
+        MPID_Request_release(*request);
     }
     *request = NULL;
     goto fn_exit;
@@ -1621,8 +1619,7 @@ static int MPIDI_CH3I_Send_contig_acc_msg(MPIDI_RMA_Op_t *rma_op,
  fn_fail:
     if (*request)
     {
-        MPIU_Object_set_ref(*request, 0);
-        MPIDI_CH3_Request_destroy(*request);
+        MPID_Request_release(*request);
     }
     *request = NULL;
     goto fn_exit;
@@ -1772,13 +1769,11 @@ fn_exit:
     /* --BEGIN ERROR HANDLING-- */
 fn_fail:
     if (*request) {
-        MPIU_Object_set_ref(*request, 0);
-        MPIDI_CH3_Request_destroy(*request);
+        MPID_Request_release(*request);
     }
     *request = NULL;
     if (rmw_req) {
-        MPIU_Object_set_ref(rmw_req, 0);
-        MPIDI_CH3_Request_destroy(rmw_req);
+        MPID_Request_release(rmw_req);
     }
     goto fn_exit;
     /* --END ERROR HANDLING-- */
@@ -3787,8 +3782,7 @@ static int MPIDI_CH3I_Send_lock_put_or_acc(MPID_Win *win_ptr, int target_rank)
         if (mpi_errno)
         {
             MPID_Datatype_release(request->dev.datatype_ptr);
-            MPIU_Object_set_ref(request, 0);
-            MPIDI_CH3_Request_destroy(request);
+            MPID_Request_release(request);
 	    MPIU_ERR_SETANDJUMP(mpi_errno,MPI_ERR_OTHER,"**ch3|loadsendiov");
         }
         /* --END ERROR HANDLING-- */        
diff --git a/src/mpid/ch3/src/ch3u_rndv.c b/src/mpid/ch3/src/ch3u_rndv.c
index 080cc90..4ab7478 100644
--- a/src/mpid/ch3/src/ch3u_rndv.c
+++ b/src/mpid/ch3/src/ch3u_rndv.c
@@ -56,8 +56,7 @@ int MPIDI_CH3_RndvSend( MPID_Request **sreq_p, const void * buf, int count,
     /* --BEGIN ERROR HANDLING-- */
     if (mpi_errno != MPI_SUCCESS)
     {
-	MPIU_Object_set_ref(sreq, 0);
-	MPIDI_CH3_Request_destroy(sreq);
+        MPID_Request_release(sreq);
 	*sreq_p = NULL;
         MPIU_ERR_SETANDJUMP(mpi_errno, MPI_ERR_OTHER, "**ch3|rtspkt");
     }
@@ -66,8 +65,7 @@ int MPIDI_CH3_RndvSend( MPID_Request **sreq_p, const void * buf, int count,
     {
 	if (rts_sreq->status.MPI_ERROR != MPI_SUCCESS)
 	{
-	    MPIU_Object_set_ref(sreq, 0);
-	    MPIDI_CH3_Request_destroy(sreq);
+            MPID_Request_release(sreq);
 	    *sreq_p = NULL;
             mpi_errno = rts_sreq->status.MPI_ERROR;
             MPID_Request_release(rts_sreq);
diff --git a/src/mpid/ch3/src/mpid_cancel_send.c b/src/mpid/ch3/src/mpid_cancel_send.c
index df0c57b..9610793 100644
--- a/src/mpid/ch3/src/mpid_cancel_send.c
+++ b/src/mpid/ch3/src/mpid_cancel_send.c
@@ -67,8 +67,7 @@ int MPID_Cancel_send(MPID_Request * sreq)
              "send-to-self cancellation successful, sreq=0x%08x, rreq=0x%08x",
 						sreq->handle, rreq->handle));
 	    
-	    MPIU_Object_set_ref(rreq, 0);
-	    MPIDI_CH3_Request_destroy(rreq);
+            MPID_Request_release(rreq);
 	    
 	    MPIR_STATUS_SET_CANCEL_BIT(sreq->status, TRUE);
 	    /* no other thread should be waiting on sreq, so it is safe to 
diff --git a/src/mpid/ch3/src/mpid_irsend.c b/src/mpid/ch3/src/mpid_irsend.c
index 4db48ec..5477ea0 100644
--- a/src/mpid/ch3/src/mpid_irsend.c
+++ b/src/mpid/ch3/src/mpid_irsend.c
@@ -90,8 +90,7 @@ int MPID_Irsend(const void * buf, int count, MPI_Datatype datatype, int rank, in
 	/* --BEGIN ERROR HANDLING-- */
 	if (mpi_errno != MPI_SUCCESS)
 	{
-	    MPIU_Object_set_ref(sreq, 0);
-	    MPIDI_CH3_Request_destroy(sreq);
+            MPID_Request_release(sreq);
 	    sreq = NULL;
             MPIU_ERR_SET(mpi_errno, MPI_ERR_OTHER, "**ch3|eagermsg");
 	    goto fn_exit;
diff --git a/src/mpid/ch3/src/mpid_isend.c b/src/mpid/ch3/src/mpid_isend.c
index 2aaadeb..f110316 100644
--- a/src/mpid/ch3/src/mpid_isend.c
+++ b/src/mpid/ch3/src/mpid_isend.c
@@ -109,8 +109,7 @@ int MPID_Isend(const void * buf, int count, MPI_Datatype datatype, int rank,
 	/* --BEGIN ERROR HANDLING-- */
 	if (mpi_errno != MPI_SUCCESS)
 	{
-	    MPIU_Object_set_ref(sreq, 0);
-	    MPIDI_CH3_Request_destroy(sreq);
+            MPID_Request_release(sreq);
 	    sreq = NULL;
             MPIU_ERR_SET(mpi_errno, MPI_ERR_OTHER, "**ch3|eagermsg");
 	    goto fn_exit;
diff --git a/src/mpid/ch3/src/mpidi_isend_self.c b/src/mpid/ch3/src/mpidi_isend_self.c
index 4d3ff12..3d71199 100644
--- a/src/mpid/ch3/src/mpidi_isend_self.c
+++ b/src/mpid/ch3/src/mpidi_isend_self.c
@@ -45,8 +45,7 @@ int MPIDI_Isend_self(const void * buf, int count, MPI_Datatype datatype, int ran
     /* --BEGIN ERROR HANDLING-- */
     if (rreq == NULL)
     {
-	MPIU_Object_set_ref(sreq, 0);
-	MPIDI_CH3_Request_destroy(sreq);
+        MPID_Request_release(sreq);
 	sreq = NULL;
         MPIU_ERR_SET1(mpi_errno, MPI_ERR_OTHER, "**nomem", 
 		      "**nomemuereq %d", MPIDI_CH3U_Recvq_count_unexp());

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

Summary of changes:
 .../channels/nemesis/netmod/portals4/ptl_send.c    |    3 +--
 .../ch3/channels/nemesis/netmod/scif/scif_send.c   |    3 +--
 .../ch3/channels/nemesis/netmod/tcp/tcp_send.c     |    3 +--
 .../channels/nemesis/netmod/wintcp/wintcp_send.c   |    3 +--
 src/mpid/ch3/src/ch3u_eager.c                      |    9 +++------
 src/mpid/ch3/src/ch3u_eagersync.c                  |    6 ++----
 src/mpid/ch3/src/ch3u_handle_recv_req.c            |    9 +++------
 src/mpid/ch3/src/ch3u_rma_sync.c                   |   18 ++++++------------
 src/mpid/ch3/src/ch3u_rndv.c                       |    6 ++----
 src/mpid/ch3/src/mpid_cancel_send.c                |    3 +--
 src/mpid/ch3/src/mpid_irsend.c                     |    3 +--
 src/mpid/ch3/src/mpid_isend.c                      |    3 +--
 src/mpid/ch3/src/mpidi_isend_self.c                |    3 +--
 13 files changed, 24 insertions(+), 48 deletions(-)


hooks/post-receive
-- 
MPICH primary repository


More information about the commits mailing list