[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