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
01679120
Commit
01679120
authored
Dec 06, 2014
by
Xin Zhao
Browse files
Modify send_lock_ack_pkt function to contain flags.
No reviewer.
parent
faae55ad
Changes
4
Show whitespace changes
Inline
Side-by-side
src/mpid/ch3/include/mpidpkt.h
View file @
01679120
...
...
@@ -647,6 +647,7 @@ typedef struct MPIDI_CH3_Pkt_decr_at_counter {
typedef
struct
MPIDI_CH3_Pkt_lock_ack
{
MPIDI_CH3_Pkt_type_t
type
;
MPIDI_CH3_Pkt_flags_t
flags
;
MPI_Win
source_win_handle
;
int
target_rank
;
}
MPIDI_CH3_Pkt_lock_ack_t
;
...
...
src/mpid/ch3/include/mpidrma.h
View file @
01679120
...
...
@@ -103,7 +103,9 @@ static inline int send_unlock_msg(int dest, MPID_Win * win_ptr,
#define FUNCNAME MPIDI_CH3I_Send_lock_ack_pkt
#undef FCNAME
#define FCNAME MPIDI_QUOTE(FUNCNAME)
static
inline
int
MPIDI_CH3I_Send_lock_ack_pkt
(
MPIDI_VC_t
*
vc
,
MPID_Win
*
win_ptr
,
MPI_Win
source_win_handle
)
static
inline
int
MPIDI_CH3I_Send_lock_ack_pkt
(
MPIDI_VC_t
*
vc
,
MPID_Win
*
win_ptr
,
MPIDI_CH3_Pkt_flags_t
flags
,
MPI_Win
source_win_handle
)
{
MPIDI_CH3_Pkt_t
upkt
;
MPIDI_CH3_Pkt_lock_ack_t
*
lock_ack_pkt
=
&
upkt
.
lock_ack
;
...
...
@@ -117,6 +119,7 @@ static inline int MPIDI_CH3I_Send_lock_ack_pkt(MPIDI_VC_t * vc, MPID_Win * win_p
MPIDI_Pkt_init
(
lock_ack_pkt
,
MPIDI_CH3_PKT_LOCK_ACK
);
lock_ack_pkt
->
source_win_handle
=
source_win_handle
;
lock_ack_pkt
->
target_rank
=
win_ptr
->
comm_ptr
->
rank
;
lock_ack_pkt
->
flags
=
flags
;
MPIU_DBG_MSG_FMT
(
CH3_OTHER
,
VERBOSE
,
(
MPIU_DBG_FDEST
,
"sending lock ack pkt on vc=%p, source_win_handle=%#08x"
,
...
...
@@ -632,7 +635,9 @@ static inline int finish_op_on_target(MPID_Win *win_ptr, MPIDI_VC_t *vc,
if
(
flags
&
MPIDI_CH3_PKT_FLAG_RMA_LOCK
)
{
if
(
!
(
flags
&
MPIDI_CH3_PKT_FLAG_RMA_FLUSH
)
&&
!
(
flags
&
MPIDI_CH3_PKT_FLAG_RMA_UNLOCK
))
{
mpi_errno
=
MPIDI_CH3I_Send_lock_ack_pkt
(
vc
,
win_ptr
,
source_win_handle
);
mpi_errno
=
MPIDI_CH3I_Send_lock_ack_pkt
(
vc
,
win_ptr
,
MPIDI_CH3_PKT_FLAG_RMA_LOCK_GRANTED
,
source_win_handle
);
if
(
mpi_errno
!=
MPI_SUCCESS
)
MPIU_ERR_POP
(
mpi_errno
);
MPIDI_CH3_Progress_signal_completion
();
}
...
...
src/mpid/ch3/src/ch3u_handle_recv_req.c
View file @
01679120
...
...
@@ -1306,6 +1306,7 @@ static inline int perform_op_in_lock_queue(MPID_Win *win_ptr, MPIDI_RMA_Lock_ent
MPIDI_Comm_get_vc_set_active
(
win_ptr
->
comm_ptr
,
lock_pkt
->
origin_rank
,
&
vc
);
mpi_errno
=
MPIDI_CH3I_Send_lock_ack_pkt
(
vc
,
win_ptr
,
MPIDI_CH3_PKT_FLAG_RMA_LOCK_GRANTED
,
lock_pkt
->
source_win_handle
);
if
(
mpi_errno
!=
MPI_SUCCESS
)
MPIU_ERR_POP
(
mpi_errno
);
}
...
...
src/mpid/ch3/src/ch3u_rma_pkthandler.c
View file @
01679120
...
...
@@ -1328,7 +1328,8 @@ int MPIDI_CH3_PktHandler_Lock(MPIDI_VC_t * vc, MPIDI_CH3_Pkt_t * pkt,
if
(
MPIDI_CH3I_Try_acquire_win_lock
(
win_ptr
,
lock_pkt
->
lock_type
)
==
1
)
{
/* send lock granted packet. */
mpi_errno
=
MPIDI_CH3I_Send_lock_ack_pkt
(
vc
,
win_ptr
,
lock_pkt
->
source_win_handle
);
mpi_errno
=
MPIDI_CH3I_Send_lock_ack_pkt
(
vc
,
win_ptr
,
MPIDI_CH3_PKT_FLAG_RMA_LOCK_GRANTED
,
lock_pkt
->
source_win_handle
);
if
(
mpi_errno
!=
MPI_SUCCESS
)
MPIU_ERR_POP
(
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