Skip to content
GitLab
Menu
Projects
Groups
Snippets
Loading...
Help
Help
Support
Community forum
Keyboard shortcuts
?
Submit feedback
Contribute to GitLab
Sign in
Toggle navigation
Menu
Open sidebar
Rob Latham
MPICH-BlueGene
Commits
e92b7746
Commit
e92b7746
authored
Dec 11, 2014
by
Xin Zhao
Browse files
Bug-fix: check win_ptr->active_req_cnt in RMA sync calls
No reviewer.
parent
7b1a5e2d
Changes
1
Show whitespace changes
Inline
Side-by-side
src/mpid/ch3/src/ch3u_rma_sync.c
View file @
e92b7746
...
@@ -747,7 +747,6 @@ int MPIDI_Win_complete(MPID_Win * win_ptr)
...
@@ -747,7 +747,6 @@ int MPIDI_Win_complete(MPID_Win * win_ptr)
MPIU_Free
(
win_ptr
->
start_ranks_in_win_grp
);
MPIU_Free
(
win_ptr
->
start_ranks_in_win_grp
);
win_ptr
->
start_ranks_in_win_grp
=
NULL
;
win_ptr
->
start_ranks_in_win_grp
=
NULL
;
MPIU_Assert
(
win_ptr
->
active_req_cnt
==
0
);
MPIU_Assert
(
win_ptr
->
start_req
==
NULL
);
MPIU_Assert
(
win_ptr
->
start_req
==
NULL
);
win_ptr
->
states
.
access_state
=
MPIDI_RMA_NONE
;
win_ptr
->
states
.
access_state
=
MPIDI_RMA_NONE
;
...
@@ -756,6 +755,7 @@ int MPIDI_Win_complete(MPID_Win * win_ptr)
...
@@ -756,6 +755,7 @@ int MPIDI_Win_complete(MPID_Win * win_ptr)
/* ENDING synchronization: correctly decrement the following counter. */
/* ENDING synchronization: correctly decrement the following counter. */
win_ptr
->
accumulated_ops_cnt
=
0
;
win_ptr
->
accumulated_ops_cnt
=
0
;
MPIU_Assert
(
win_ptr
->
active_req_cnt
==
0
);
fn_exit:
fn_exit:
MPIDI_RMA_FUNC_EXIT
(
MPID_STATE_MPIDI_WIN_COMPLETE
);
MPIDI_RMA_FUNC_EXIT
(
MPID_STATE_MPIDI_WIN_COMPLETE
);
...
@@ -1038,7 +1038,6 @@ int MPIDI_Win_unlock(int dest, MPID_Win *win_ptr)
...
@@ -1038,7 +1038,6 @@ int MPIDI_Win_unlock(int dest, MPID_Win *win_ptr)
}
while
(
!
remote_completed
);
}
while
(
!
remote_completed
);
finish_unlock:
finish_unlock:
MPIU_Assert
(
win_ptr
->
active_req_cnt
==
0
);
if
(
target
!=
NULL
)
{
if
(
target
!=
NULL
)
{
/* ENDING synchronization: correctly decrement the following counter. */
/* ENDING synchronization: correctly decrement the following counter. */
win_ptr
->
accumulated_ops_cnt
-=
target
->
accumulated_ops_cnt
;
win_ptr
->
accumulated_ops_cnt
-=
target
->
accumulated_ops_cnt
;
...
@@ -1329,6 +1328,7 @@ int MPIDI_Win_lock_all(int assert, MPID_Win * win_ptr)
...
@@ -1329,6 +1328,7 @@ int MPIDI_Win_lock_all(int assert, MPID_Win * win_ptr)
/* BEGINNING synchronization: the following counter should be zero. */
/* BEGINNING synchronization: the following counter should be zero. */
MPIU_Assert
(
win_ptr
->
accumulated_ops_cnt
==
0
);
MPIU_Assert
(
win_ptr
->
accumulated_ops_cnt
==
0
);
MPIU_Assert
(
win_ptr
->
active_req_cnt
==
0
);
fn_exit:
fn_exit:
MPIDI_RMA_FUNC_EXIT
(
MPID_STATE_MPIDI_WIN_LOCK_ALL
);
MPIDI_RMA_FUNC_EXIT
(
MPID_STATE_MPIDI_WIN_LOCK_ALL
);
...
@@ -1467,7 +1467,6 @@ int MPIDI_Win_unlock_all(MPID_Win * win_ptr)
...
@@ -1467,7 +1467,6 @@ int MPIDI_Win_unlock_all(MPID_Win * win_ptr)
MPIU_Assert
(
win_ptr
->
non_empty_slots
==
0
);
MPIU_Assert
(
win_ptr
->
non_empty_slots
==
0
);
win_ptr
->
lock_all_assert
=
0
;
win_ptr
->
lock_all_assert
=
0
;
MPIU_Assert
(
win_ptr
->
active_req_cnt
==
0
);
win_ptr
->
states
.
access_state
=
MPIDI_RMA_NONE
;
win_ptr
->
states
.
access_state
=
MPIDI_RMA_NONE
;
num_passive_win
--
;
num_passive_win
--
;
...
@@ -1477,6 +1476,7 @@ int MPIDI_Win_unlock_all(MPID_Win * win_ptr)
...
@@ -1477,6 +1476,7 @@ int MPIDI_Win_unlock_all(MPID_Win * win_ptr)
/* ENDING synchronization: correctly decrement the following counter. */
/* ENDING synchronization: correctly decrement the following counter. */
win_ptr
->
accumulated_ops_cnt
=
0
;
win_ptr
->
accumulated_ops_cnt
=
0
;
MPIU_Assert
(
win_ptr
->
active_req_cnt
==
0
);
fn_exit:
fn_exit:
MPIDI_RMA_FUNC_EXIT
(
MPID_STATE_MPIDI_WIN_UNLOCK_ALL
);
MPIDI_RMA_FUNC_EXIT
(
MPID_STATE_MPIDI_WIN_UNLOCK_ALL
);
...
@@ -1562,6 +1562,8 @@ int MPIDI_Win_flush_all(MPID_Win * win_ptr)
...
@@ -1562,6 +1562,8 @@ int MPIDI_Win_flush_all(MPID_Win * win_ptr)
/* ENDING synchronization: correctly decrement the following counter. */
/* ENDING synchronization: correctly decrement the following counter. */
win_ptr
->
accumulated_ops_cnt
=
0
;
win_ptr
->
accumulated_ops_cnt
=
0
;
MPIU_Assert
(
win_ptr
->
active_req_cnt
==
0
);
fn_exit:
fn_exit:
MPIDI_RMA_FUNC_EXIT
(
MPIDI_STATE_MPIDI_WIN_FLUSH_ALL
);
MPIDI_RMA_FUNC_EXIT
(
MPIDI_STATE_MPIDI_WIN_FLUSH_ALL
);
return
mpi_errno
;
return
mpi_errno
;
...
...
Write
Preview
Markdown
is supported
0%
Try again
or
attach a new file
.
Attach a file
Cancel
You are about to add
0
people
to the discussion. Proceed with caution.
Finish editing this message first!
Cancel
Please
register
or
sign in
to comment