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
aa350fba
Commit
aa350fba
authored
Nov 12, 2014
by
Pavan Balaji
Browse files
Do not expose the flowcontrol parameter to the user.
Signed-off-by:
Antonio Pena Monferrer
<
apenya@mcs.anl.gov
>
parent
f68228a9
Changes
4
Hide whitespace changes
Inline
Side-by-side
src/mpid/ch3/channels/nemesis/netmod/portals4/ptl_nm.c
View file @
aa350fba
...
...
@@ -245,7 +245,7 @@ static inline int send_pkt(MPIDI_VC_t *vc, void *hdr_p, void *data_p, MPIDI_msg_
goto
fn_fail
;
ret
=
MPID_nem_ptl_rptl_put
(
MPIDI_nem_ptl_global_md
,
(
ptl_size_t
)
sendbuf
,
sendbuf_sz
,
PTL_NO_ACK_REQ
,
vc_ptl
->
id
,
vc_ptl
->
ptc
,
CTL_TAG
,
0
,
sreq
,
MPIDI_Process
.
my_pg_rank
,
1
);
vc_ptl
->
id
,
vc_ptl
->
ptc
,
CTL_TAG
,
0
,
sreq
,
MPIDI_Process
.
my_pg_rank
);
MPIU_ERR_CHKANDJUMP1
(
ret
,
mpi_errno
,
MPI_ERR_OTHER
,
"**ptlput"
,
"**ptlput %s"
,
MPID_nem_ptl_strerror
(
ret
));
MPIU_DBG_MSG_FMT
(
CH3_CHANNEL
,
VERBOSE
,
(
MPIU_DBG_FDEST
,
"PtlPut(size=%lu id=(%#x,%#x) pt=%#x)"
,
...
...
@@ -308,7 +308,7 @@ static int send_noncontig_pkt(MPIDI_VC_t *vc, MPID_Request *sreq, void *hdr_p)
goto
fn_fail
;
ret
=
MPID_nem_ptl_rptl_put
(
MPIDI_nem_ptl_global_md
,
(
ptl_size_t
)
sendbuf
,
sendbuf_sz
,
PTL_NO_ACK_REQ
,
vc_ptl
->
id
,
vc_ptl
->
ptc
,
CTL_TAG
,
0
,
sreq
,
MPIDI_Process
.
my_pg_rank
,
1
);
vc_ptl
->
id
,
vc_ptl
->
ptc
,
CTL_TAG
,
0
,
sreq
,
MPIDI_Process
.
my_pg_rank
);
MPIU_ERR_CHKANDJUMP1
(
ret
,
mpi_errno
,
MPI_ERR_OTHER
,
"**ptlput"
,
"**ptlput %s"
,
MPID_nem_ptl_strerror
(
ret
));
MPIU_DBG_MSG_FMT
(
CH3_CHANNEL
,
VERBOSE
,
(
MPIU_DBG_FDEST
,
"PtlPut(size=%lu id=(%#x,%#x) pt=%#x)"
,
...
...
@@ -461,7 +461,7 @@ int MPID_nem_ptl_nm_ctl_event_handler(const ptl_event_t *e)
MPIU_ERR_POP
(
mpi_errno
);
/* Notify we're done */
ret
=
MPID_nem_ptl_rptl_put
(
MPIDI_nem_ptl_global_md
,
0
,
0
,
PTL_NO_ACK_REQ
,
vc_ptl
->
id
,
vc_ptl
->
ptc
,
DONE_TAG
(
recvbufs
[
buf_idx
].
tag
),
0
,
done_req
,
MPIDI_Process
.
my_pg_rank
,
1
);
DONE_TAG
(
recvbufs
[
buf_idx
].
tag
),
0
,
done_req
,
MPIDI_Process
.
my_pg_rank
);
MPIU_ERR_CHKANDJUMP1
(
ret
,
mpi_errno
,
MPI_ERR_OTHER
,
"**ptlput"
,
"**ptlput %s"
,
MPID_nem_ptl_strerror
(
ret
));
MPIU_DBG_MSG_FMT
(
CH3_CHANNEL
,
VERBOSE
,
(
MPIU_DBG_FDEST
,
...
...
@@ -531,7 +531,7 @@ int MPID_nem_ptl_nm_ctl_event_handler(const ptl_event_t *e)
/* Notify we're done */
ret
=
MPID_nem_ptl_rptl_put
(
MPIDI_nem_ptl_global_md
,
0
,
0
,
PTL_NO_ACK_REQ
,
vc_ptl
->
id
,
vc_ptl
->
ptc
,
DONE_TAG
(
rreq
->
dev
.
match
.
parts
.
tag
),
0
,
done_req
,
MPIDI_Process
.
my_pg_rank
,
1
);
DONE_TAG
(
rreq
->
dev
.
match
.
parts
.
tag
),
0
,
done_req
,
MPIDI_Process
.
my_pg_rank
);
MPIU_ERR_CHKANDJUMP1
(
ret
,
mpi_errno
,
MPI_ERR_OTHER
,
"**ptlput"
,
"**ptlput %s"
,
MPID_nem_ptl_strerror
(
ret
));
MPIU_DBG_MSG_FMT
(
CH3_CHANNEL
,
VERBOSE
,
(
MPIU_DBG_FDEST
,
...
...
src/mpid/ch3/channels/nemesis/netmod/portals4/ptl_send.c
View file @
aa350fba
...
...
@@ -267,7 +267,7 @@ static int send_msg(ptl_hdr_data_t ssend_flag, struct MPIDI_VC *vc, const void *
MPIU_DBG_MSG_P
(
CH3_CHANNEL
,
VERBOSE
,
"&REQ_PTL(sreq)->event_handler = %p"
,
&
(
REQ_PTL
(
sreq
)
->
event_handler
));
ret
=
MPID_nem_ptl_rptl_put
(
MPIDI_nem_ptl_global_md
,
(
ptl_size_t
)((
char
*
)
buf
+
dt_true_lb
),
data_sz
,
PTL_ACK_REQ
,
vc_ptl
->
id
,
vc_ptl
->
pt
,
NPTL_MATCH
(
tag
,
comm
->
context_id
+
context_offset
,
comm
->
rank
),
0
,
sreq
,
NPTL_HEADER
(
ssend_flag
,
data_sz
)
,
1
);
NPTL_HEADER
(
ssend_flag
,
data_sz
));
MPIU_ERR_CHKANDJUMP1
(
ret
,
mpi_errno
,
MPI_ERR_OTHER
,
"**ptlput"
,
"**ptlput %s"
,
MPID_nem_ptl_strerror
(
ret
));
DBG_MSG_PUT
(
"global"
,
data_sz
,
vc
->
pg_rank
,
NPTL_MATCH
(
tag
,
comm
->
context_id
+
context_offset
,
comm
->
rank
),
NPTL_HEADER
(
ssend_flag
,
data_sz
));
MPIU_DBG_MSG_D
(
CH3_CHANNEL
,
VERBOSE
,
"id.nid = %#x"
,
vc_ptl
->
id
.
phys
.
nid
);
...
...
@@ -304,7 +304,7 @@ static int send_msg(ptl_hdr_data_t ssend_flag, struct MPIDI_VC *vc, const void *
REQ_PTL
(
sreq
)
->
event_handler
=
handler_send_complete
;
ret
=
MPID_nem_ptl_rptl_put
(
REQ_PTL
(
sreq
)
->
md
,
0
,
data_sz
,
PTL_ACK_REQ
,
vc_ptl
->
id
,
vc_ptl
->
pt
,
NPTL_MATCH
(
tag
,
comm
->
context_id
+
context_offset
,
comm
->
rank
),
0
,
sreq
,
NPTL_HEADER
(
ssend_flag
,
data_sz
)
,
1
);
NPTL_HEADER
(
ssend_flag
,
data_sz
));
MPIU_ERR_CHKANDJUMP1
(
ret
,
mpi_errno
,
MPI_ERR_OTHER
,
"**ptlput"
,
"**ptlput %s"
,
MPID_nem_ptl_strerror
(
ret
));
DBG_MSG_PUT
(
"sreq"
,
data_sz
,
vc
->
pg_rank
,
NPTL_MATCH
(
tag
,
comm
->
context_id
+
context_offset
,
comm
->
rank
),
NPTL_HEADER
(
ssend_flag
,
data_sz
));
goto
fn_exit
;
...
...
@@ -321,7 +321,7 @@ static int send_msg(ptl_hdr_data_t ssend_flag, struct MPIDI_VC *vc, const void *
REQ_PTL
(
sreq
)
->
event_handler
=
handler_send_complete
;
ret
=
MPID_nem_ptl_rptl_put
(
MPIDI_nem_ptl_global_md
,
(
ptl_size_t
)
REQ_PTL
(
sreq
)
->
chunk_buffer
[
0
],
data_sz
,
PTL_ACK_REQ
,
vc_ptl
->
id
,
vc_ptl
->
pt
,
NPTL_MATCH
(
tag
,
comm
->
context_id
+
context_offset
,
comm
->
rank
),
0
,
sreq
,
NPTL_HEADER
(
ssend_flag
,
data_sz
)
,
1
);
NPTL_HEADER
(
ssend_flag
,
data_sz
));
MPIU_ERR_CHKANDJUMP1
(
ret
,
mpi_errno
,
MPI_ERR_OTHER
,
"**ptlput"
,
"**ptlput %s"
,
MPID_nem_ptl_strerror
(
ret
));
DBG_MSG_PUT
(
"global"
,
data_sz
,
vc
->
pg_rank
,
NPTL_MATCH
(
tag
,
comm
->
context_id
+
context_offset
,
comm
->
rank
),
NPTL_HEADER
(
ssend_flag
,
data_sz
));
goto
fn_exit
;
...
...
@@ -338,7 +338,7 @@ static int send_msg(ptl_hdr_data_t ssend_flag, struct MPIDI_VC *vc, const void *
REQ_PTL
(
sreq
)
->
event_handler
=
handler_large
;
ret
=
MPID_nem_ptl_rptl_put
(
MPIDI_nem_ptl_global_md
,
(
ptl_size_t
)((
char
*
)
buf
+
dt_true_lb
),
PTL_LARGE_THRESHOLD
,
PTL_ACK_REQ
,
vc_ptl
->
id
,
vc_ptl
->
pt
,
NPTL_MATCH
(
tag
,
comm
->
context_id
+
context_offset
,
comm
->
rank
),
0
,
sreq
,
NPTL_HEADER
(
ssend_flag
|
NPTL_LARGE
,
data_sz
)
,
1
);
NPTL_HEADER
(
ssend_flag
|
NPTL_LARGE
,
data_sz
));
MPIU_ERR_CHKANDJUMP1
(
ret
,
mpi_errno
,
MPI_ERR_OTHER
,
"**ptlput"
,
"**ptlput %s"
,
MPID_nem_ptl_strerror
(
ret
));
DBG_MSG_PUT
(
"global"
,
PTL_LARGE_THRESHOLD
,
vc
->
pg_rank
,
NPTL_MATCH
(
tag
,
comm
->
context_id
+
context_offset
,
comm
->
rank
),
NPTL_HEADER
(
ssend_flag
|
NPTL_LARGE
,
data_sz
));
goto
fn_exit
;
...
...
@@ -408,7 +408,7 @@ static int send_msg(ptl_hdr_data_t ssend_flag, struct MPIDI_VC *vc, const void *
REQ_PTL
(
sreq
)
->
event_handler
=
handler_large
;
ret
=
MPID_nem_ptl_rptl_put
(
REQ_PTL
(
sreq
)
->
md
,
0
,
PTL_LARGE_THRESHOLD
,
PTL_ACK_REQ
,
vc_ptl
->
id
,
vc_ptl
->
pt
,
NPTL_MATCH
(
tag
,
comm
->
context_id
+
context_offset
,
comm
->
rank
),
0
,
sreq
,
NPTL_HEADER
(
ssend_flag
|
NPTL_LARGE
,
data_sz
)
,
1
);
NPTL_HEADER
(
ssend_flag
|
NPTL_LARGE
,
data_sz
));
MPIU_ERR_CHKANDJUMP1
(
ret
,
mpi_errno
,
MPI_ERR_OTHER
,
"**ptlput"
,
"**ptlput %s"
,
MPID_nem_ptl_strerror
(
ret
));
DBG_MSG_PUT
(
"req"
,
PTL_LARGE_THRESHOLD
,
vc
->
pg_rank
,
NPTL_MATCH
(
tag
,
comm
->
context_id
+
context_offset
,
comm
->
rank
),
NPTL_HEADER
(
ssend_flag
|
NPTL_LARGE
,
data_sz
));
goto
fn_exit
;
...
...
@@ -432,7 +432,7 @@ static int send_msg(ptl_hdr_data_t ssend_flag, struct MPIDI_VC *vc, const void *
REQ_PTL
(
sreq
)
->
event_handler
=
handler_large
;
ret
=
MPID_nem_ptl_rptl_put
(
MPIDI_nem_ptl_global_md
,
(
ptl_size_t
)
REQ_PTL
(
sreq
)
->
chunk_buffer
[
0
],
PTL_LARGE_THRESHOLD
,
PTL_ACK_REQ
,
vc_ptl
->
id
,
vc_ptl
->
pt
,
NPTL_MATCH
(
tag
,
comm
->
context_id
+
context_offset
,
comm
->
rank
),
0
,
sreq
,
NPTL_HEADER
(
ssend_flag
|
NPTL_LARGE
,
data_sz
)
,
1
);
0
,
sreq
,
NPTL_HEADER
(
ssend_flag
|
NPTL_LARGE
,
data_sz
));
MPIU_ERR_CHKANDJUMP1
(
ret
,
mpi_errno
,
MPI_ERR_OTHER
,
"**ptlput"
,
"**ptlput %s"
,
MPID_nem_ptl_strerror
(
ret
));
DBG_MSG_PUT
(
"global"
,
PTL_LARGE_THRESHOLD
,
vc
->
pg_rank
,
NPTL_MATCH
(
tag
,
comm
->
context_id
+
context_offset
,
comm
->
rank
),
NPTL_HEADER
(
ssend_flag
|
NPTL_LARGE
,
data_sz
));
...
...
src/mpid/ch3/channels/nemesis/netmod/portals4/rptl.c
View file @
aa350fba
...
...
@@ -405,6 +405,11 @@ void free_op(struct rptl_op *op)
}
static
int
rptl_put
(
ptl_handle_md_t
md_handle
,
ptl_size_t
local_offset
,
ptl_size_t
length
,
ptl_ack_req_t
ack_req
,
ptl_process_t
target_id
,
ptl_pt_index_t
pt_index
,
ptl_match_bits_t
match_bits
,
ptl_size_t
remote_offset
,
void
*
user_ptr
,
ptl_hdr_data_t
hdr_data
,
int
flow_control
);
#undef FUNCNAME
#define FUNCNAME poke_progress
#undef FCNAME
...
...
@@ -454,8 +459,8 @@ int poke_progress(void)
assert
(
control_pt
!=
PTL_PT_ANY
);
/* disable flow control for control messages */
ret
=
MPID_nem_ptl_
rptl_put
(
rptl
->
md
,
0
,
0
,
PTL_NO_ACK_REQ
,
id
,
control_pt
,
0
,
0
,
NULL
,
RPTL_CONTROL_MSG_UNPAUSE
,
0
);
ret
=
rptl_put
(
rptl
->
md
,
0
,
0
,
PTL_NO_ACK_REQ
,
id
,
control_pt
,
0
,
0
,
NULL
,
RPTL_CONTROL_MSG_UNPAUSE
,
0
);
RPTLU_ERR_POP
(
ret
,
"Error sending unpause message
\n
"
);
}
}
...
...
@@ -490,7 +495,7 @@ int poke_progress(void)
target
->
state
=
RPTL_TARGET_STATE_PAUSE_ACKED
;
/* disable flow control for control messages */
ret
=
MPID_nem_ptl_
rptl_put
(
target
->
rptl
->
md
,
0
,
0
,
PTL_NO_ACK_REQ
,
id
,
control_pt
,
0
,
ret
=
rptl_put
(
target
->
rptl
->
md
,
0
,
0
,
PTL_NO_ACK_REQ
,
id
,
control_pt
,
0
,
0
,
NULL
,
RPTL_CONTROL_MSG_PAUSE_ACK
,
0
);
RPTLU_ERR_POP
(
ret
,
"Error sending pause ack message
\n
"
);
...
...
@@ -600,20 +605,20 @@ int poke_progress(void)
#undef FUNCNAME
#define FUNCNAME
MPID_nem_ptl_
rptl_put
#define FUNCNAME rptl_put
#undef FCNAME
#define FCNAME MPIU_QUOTE(FUNCNAME)
int
MPID_nem_ptl_
rptl_put
(
ptl_handle_md_t
md_handle
,
ptl_size_t
local_offset
,
ptl_size_t
length
,
ptl_ack_req_t
ack_req
,
ptl_process_t
target_id
,
ptl_pt_index_t
pt_index
,
ptl_match_bits_t
match_bits
,
ptl_size_t
remote_offset
,
void
*
user_ptr
,
ptl_hdr_data_t
hdr_data
,
int
flow_control
)
static
int
rptl_put
(
ptl_handle_md_t
md_handle
,
ptl_size_t
local_offset
,
ptl_size_t
length
,
ptl_ack_req_t
ack_req
,
ptl_process_t
target_id
,
ptl_pt_index_t
pt_index
,
ptl_match_bits_t
match_bits
,
ptl_size_t
remote_offset
,
void
*
user_ptr
,
ptl_hdr_data_t
hdr_data
,
int
flow_control
)
{
struct
rptl_op
*
op
;
int
ret
=
PTL_OK
;
struct
rptl_target
*
target
;
MPIDI_STATE_DECL
(
MPID_STATE_
MPID_NEM_PTL_
RPTL_PUT
);
MPIDI_STATE_DECL
(
MPID_STATE_RPTL_PUT
);
MPIDI_FUNC_ENTER
(
MPID_STATE_
MPID_NEM_PTL_
RPTL_PUT
);
MPIDI_FUNC_ENTER
(
MPID_STATE_RPTL_PUT
);
ret
=
find_target
(
target_id
,
&
target
);
RPTLU_ERR_POP
(
ret
,
"error finding target structure
\n
"
);
...
...
@@ -652,7 +657,7 @@ int MPID_nem_ptl_rptl_put(ptl_handle_md_t md_handle, ptl_size_t local_offset, pt
RPTLU_ERR_POP
(
ret
,
"Error from poke_progress
\n
"
);
fn_exit:
MPIDI_FUNC_EXIT
(
MPID_STATE_
MPID_NEM_PTL_
RPTL_PUT
);
MPIDI_FUNC_EXIT
(
MPID_STATE_RPTL_PUT
);
return
ret
;
fn_fail:
...
...
@@ -660,6 +665,20 @@ int MPID_nem_ptl_rptl_put(ptl_handle_md_t md_handle, ptl_size_t local_offset, pt
}
#undef FUNCNAME
#define FUNCNAME rptl_put
#undef FCNAME
#define FCNAME MPIU_QUOTE(FUNCNAME)
int
MPID_nem_ptl_rptl_put
(
ptl_handle_md_t
md_handle
,
ptl_size_t
local_offset
,
ptl_size_t
length
,
ptl_ack_req_t
ack_req
,
ptl_process_t
target_id
,
ptl_pt_index_t
pt_index
,
ptl_match_bits_t
match_bits
,
ptl_size_t
remote_offset
,
void
*
user_ptr
,
ptl_hdr_data_t
hdr_data
)
{
return
rptl_put
(
md_handle
,
local_offset
,
length
,
ack_req
,
target_id
,
pt_index
,
match_bits
,
remote_offset
,
user_ptr
,
hdr_data
,
1
);
}
#undef FUNCNAME
#define FUNCNAME MPID_nem_ptl_rptl_get
#undef FCNAME
...
...
@@ -743,7 +762,7 @@ static int send_pause_messages(struct rptl *rptl)
assert
(
control_pt
!=
PTL_PT_ANY
);
/* disable flow control for control messages */
ret
=
MPID_nem_ptl_
rptl_put
(
rptl
->
md
,
0
,
0
,
PTL_NO_ACK_REQ
,
id
,
control_pt
,
0
,
0
,
ret
=
rptl_put
(
rptl
->
md
,
0
,
0
,
PTL_NO_ACK_REQ
,
id
,
control_pt
,
0
,
0
,
NULL
,
RPTL_CONTROL_MSG_PAUSE
,
0
);
RPTLU_ERR_POP
(
ret
,
"Error sending pause message
\n
"
);
}
...
...
src/mpid/ch3/channels/nemesis/netmod/portals4/rptl.h
View file @
aa350fba
...
...
@@ -171,7 +171,7 @@ int MPID_nem_ptl_rptl_ptfini(ptl_pt_index_t pt_index);
int
MPID_nem_ptl_rptl_put
(
ptl_handle_md_t
md_handle
,
ptl_size_t
local_offset
,
ptl_size_t
length
,
ptl_ack_req_t
ack_req
,
ptl_process_t
target_id
,
ptl_pt_index_t
pt_index
,
ptl_match_bits_t
match_bits
,
ptl_size_t
remote_offset
,
void
*
user_ptr
,
ptl_hdr_data_t
hdr_data
,
int
flow_control
);
ptl_hdr_data_t
hdr_data
);
int
MPID_nem_ptl_rptl_get
(
ptl_handle_md_t
md_handle
,
ptl_size_t
local_offset
,
ptl_size_t
length
,
ptl_process_t
target_id
,
ptl_pt_index_t
pt_index
,
...
...
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