[mpich-commits] [mpich] MPICH primary repository branch, master, updated. v3.2b4-75-g7ab7ca1

Service Account noreply at mpich.org
Wed Aug 5 01:06:06 CDT 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  7ab7ca15500191aaf3e38295fceefccf254cbb0f (commit)
       via  19b6d44e9da545a9786a5e589a7d4ad18b31ff1d (commit)
       via  dd87515e6b92b86c28c9c00c330e115a38856ab5 (commit)
       via  9ff3325d17463369b785341074aa1f319ab431bb (commit)
      from  8b3b041804d0b179db413a0c1047346b0b2a5cf7 (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/7ab7ca15500191aaf3e38295fceefccf254cbb0f

commit 7ab7ca15500191aaf3e38295fceefccf254cbb0f
Author: Xin Zhao <xinzhao3 at illinois.edu>
Date:   Tue Aug 4 17:19:38 2015 -0500

    Delete comment that makes no sense.
    
    Signed-off-by: Pavan Balaji <balaji at anl.gov>

diff --git a/src/mpid/ch3/src/ch3u_rma_progress.c b/src/mpid/ch3/src/ch3u_rma_progress.c
index 346c5ba..dc4324d 100644
--- a/src/mpid/ch3/src/ch3u_rma_progress.c
+++ b/src/mpid/ch3/src/ch3u_rma_progress.c
@@ -375,8 +375,6 @@ static inline int issue_ops_target(MPID_Win * win_ptr, MPIDI_RMA_Target_t * targ
         }
 
         if (op_completed == FALSE) {
-            /* Poke the progress engine when next_op_to_issue is not the current OP, in
-             * order to make sure the issuing function is re-entrant safe. */
             if (win_ptr->active_req_cnt > MPIR_CVAR_CH3_RMA_POKE_PROGRESS_REQ_THRESHOLD) {
                 mpi_errno = poke_progress_engine();
                 if (mpi_errno != MPI_SUCCESS)

http://git.mpich.org/mpich.git/commitdiff/19b6d44e9da545a9786a5e589a7d4ad18b31ff1d

commit 19b6d44e9da545a9786a5e589a7d4ad18b31ff1d
Author: Xin Zhao <xinzhao3 at illinois.edu>
Date:   Tue Aug 4 17:04:25 2015 -0500

    Make issue_ops_target not re-entrant.
    
    Function issue_ops_target should not be re-entered, otherwise it
    has the risk of causing too many re-entrances and using up function
    stack.
    
    Signed-off-by: Pavan Balaji <balaji at anl.gov>

diff --git a/src/mpid/ch3/src/ch3u_rma_progress.c b/src/mpid/ch3/src/ch3u_rma_progress.c
index 44eee91..346c5ba 100644
--- a/src/mpid/ch3/src/ch3u_rma_progress.c
+++ b/src/mpid/ch3/src/ch3u_rma_progress.c
@@ -258,6 +258,8 @@ static inline int check_and_switch_target_state(MPID_Win * win_ptr, MPIDI_RMA_Ta
 }
 
 
+/* Note: we should prevent this function to be re-entrant. It has the risk of
+ * causing too many re-entrance and using up function stack. */
 #undef FUNCNAME
 #define FUNCNAME issue_ops_target
 #undef FCNAME
@@ -268,12 +270,19 @@ static inline int issue_ops_target(MPID_Win * win_ptr, MPIDI_RMA_Target_t * targ
     MPIDI_RMA_Op_t *curr_op = NULL;
     MPIDI_CH3_Pkt_flags_t flags;
     int first_op = 1, mpi_errno = MPI_SUCCESS;
+    static int fn_reentrance_check = FALSE;
+
+    /* this function is not reentrant.  if it is invoked in a
+     * reentrant manner, simply exit without doing anything. */
+    if (fn_reentrance_check == TRUE)
+        goto fn_exit;
+    fn_reentrance_check = TRUE;
 
     (*made_progress) = 0;
 
     if (win_ptr->num_targets_with_pending_net_ops == 0 || target == NULL ||
         target->pending_net_ops_list_head == NULL)
-        goto fn_exit;
+        goto finish_issue;
 
     /* Issue out operations in the list. */
     curr_op = target->next_op_to_issue;
@@ -379,6 +388,9 @@ static inline int issue_ops_target(MPID_Win * win_ptr, MPIDI_RMA_Target_t * targ
 
     }   /* end of while loop */
 
+  finish_issue:
+    fn_reentrance_check = FALSE;
+
   fn_exit:
     return mpi_errno;
   fn_fail:

http://git.mpich.org/mpich.git/commitdiff/dd87515e6b92b86c28c9c00c330e115a38856ab5

commit dd87515e6b92b86c28c9c00c330e115a38856ab5
Author: Xin Zhao <xinzhao3 at illinois.edu>
Date:   Tue Aug 4 11:10:49 2015 -0500

    Remove the restriction of FENCE/PSCW_GRANTED state in RMA progress.
    
    Originally we prevent RMA progress to deal with FENCE/PSCW_GRANTED
    windows, because the state switching is happening inside RMA progress
    and when state is switched to FENCE/PSCW_GRANTED, operations must be
    issued out immediately; however, now we remove the state switching from
    RMA progress and do it in request completion cb, in such case, we need
    to remove the restriction of FENCE/PSCW_GRANTED in RMA progress,
    otherwise operations cannot be issued out.
    
    Signed-off-by: Pavan Balaji <balaji at anl.gov>

diff --git a/src/mpid/ch3/src/ch3u_rma_progress.c b/src/mpid/ch3/src/ch3u_rma_progress.c
index 9d064e6..44eee91 100644
--- a/src/mpid/ch3/src/ch3u_rma_progress.c
+++ b/src/mpid/ch3/src/ch3u_rma_progress.c
@@ -797,9 +797,7 @@ int MPIDI_CH3I_RMA_Make_progress_global(int *made_progress)
         int temp_progress = 0;
         int is_able_to_issue = 0;
 
-        if (win_ptr->states.access_state == MPIDI_RMA_NONE ||
-            win_ptr->states.access_state == MPIDI_RMA_FENCE_GRANTED ||
-            win_ptr->states.access_state == MPIDI_RMA_PSCW_GRANTED)
+        if (win_ptr->states.access_state == MPIDI_RMA_NONE)
             continue;
 
         /* check and try to switch window state */

http://git.mpich.org/mpich.git/commitdiff/9ff3325d17463369b785341074aa1f319ab431bb

commit 9ff3325d17463369b785341074aa1f319ab431bb
Author: Xin Zhao <xinzhao3 at illinois.edu>
Date:   Tue Aug 4 14:01:46 2015 -0500

    Delete unnecessary condition.
    
    target->next_op_to_issue pointer is assigned to curr_op->next
    before if branch, so it cannot equal to curr_op.
    
    Signed-off-by: Pavan Balaji <balaji at anl.gov>

diff --git a/src/mpid/ch3/src/ch3u_rma_progress.c b/src/mpid/ch3/src/ch3u_rma_progress.c
index 8efc6af..9d064e6 100644
--- a/src/mpid/ch3/src/ch3u_rma_progress.c
+++ b/src/mpid/ch3/src/ch3u_rma_progress.c
@@ -368,8 +368,7 @@ static inline int issue_ops_target(MPID_Win * win_ptr, MPIDI_RMA_Target_t * targ
         if (op_completed == FALSE) {
             /* Poke the progress engine when next_op_to_issue is not the current OP, in
              * order to make sure the issuing function is re-entrant safe. */
-            if (target->next_op_to_issue != curr_op &&
-                win_ptr->active_req_cnt > MPIR_CVAR_CH3_RMA_POKE_PROGRESS_REQ_THRESHOLD) {
+            if (win_ptr->active_req_cnt > MPIR_CVAR_CH3_RMA_POKE_PROGRESS_REQ_THRESHOLD) {
                 mpi_errno = poke_progress_engine();
                 if (mpi_errno != MPI_SUCCESS)
                     MPIU_ERR_POP(mpi_errno);

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

Summary of changes:
 src/mpid/ch3/src/ch3u_rma_progress.c |   23 +++++++++++++++--------
 1 files changed, 15 insertions(+), 8 deletions(-)


hooks/post-receive
-- 
MPICH primary repository


More information about the commits mailing list