Make some function static. Optimize the fast path. Still working on the latency ...
This commit was SVN r10787.
Этот коммит содержится в:
родитель
21c542f0a5
Коммит
5617cb1a0a
@ -50,7 +50,24 @@ OBJ_CLASS_INSTANCE(
|
||||
NULL
|
||||
);
|
||||
|
||||
/**
|
||||
* Static functions.
|
||||
*/
|
||||
|
||||
/**
|
||||
* Match incoming recv_frags against posted receives.
|
||||
* Supports out of order delivery.
|
||||
*
|
||||
* @param frag_header (IN) Header of received recv_frag.
|
||||
* @param frag_desc (IN) Received recv_frag descriptor.
|
||||
* @param match_made (OUT) Flag indicating wether a match was made.
|
||||
* @param additional_matches (OUT) List of additional matches
|
||||
* @return OMPI_SUCCESS or error status on failure.
|
||||
*/
|
||||
static int mca_pml_ob1_recv_frag_match( mca_btl_base_module_t *btl,
|
||||
mca_pml_ob1_match_hdr_t *hdr,
|
||||
mca_btl_base_segment_t* segments,
|
||||
size_t num_segments );
|
||||
|
||||
/**
|
||||
* Callback from BTL on receive.
|
||||
@ -429,11 +446,10 @@ static bool mca_pml_ob1_check_cantmatch_for_match(
|
||||
* - fragments may be corrupt
|
||||
* - this routine may be called simultaneously by more than one thread
|
||||
*/
|
||||
int mca_pml_ob1_recv_frag_match(
|
||||
mca_btl_base_module_t *btl,
|
||||
mca_pml_ob1_match_hdr_t *hdr,
|
||||
mca_btl_base_segment_t* segments,
|
||||
size_t num_segments)
|
||||
static int mca_pml_ob1_recv_frag_match( mca_btl_base_module_t *btl,
|
||||
mca_pml_ob1_match_hdr_t *hdr,
|
||||
mca_btl_base_segment_t* segments,
|
||||
size_t num_segments )
|
||||
{
|
||||
/* local variables */
|
||||
uint16_t next_msg_seq_expected, frag_msg_seq;
|
||||
|
@ -113,23 +113,6 @@ OMPI_DECLSPEC void mca_pml_ob1_recv_frag_callback(
|
||||
void* cbdata
|
||||
);
|
||||
|
||||
/**
|
||||
* Match incoming recv_frags against posted receives.
|
||||
* Supports out of order delivery.
|
||||
*
|
||||
* @param frag_header (IN) Header of received recv_frag.
|
||||
* @param frag_desc (IN) Received recv_frag descriptor.
|
||||
* @param match_made (OUT) Flag indicating wether a match was made.
|
||||
* @param additional_matches (OUT) List of additional matches
|
||||
* @return OMPI_SUCCESS or error status on failure.
|
||||
*/
|
||||
OMPI_DECLSPEC int mca_pml_ob1_recv_frag_match(
|
||||
mca_btl_base_module_t* btl,
|
||||
mca_pml_ob1_match_hdr_t *hdr,
|
||||
mca_btl_base_segment_t* segments,
|
||||
size_t num_segments);
|
||||
|
||||
|
||||
#if defined(c_plusplus) || defined(__cplusplus)
|
||||
}
|
||||
#endif
|
||||
|
@ -231,6 +231,7 @@ do {
|
||||
do { \
|
||||
(request)->req_recv.req_base.req_ompi.req_status.MPI_TAG = (hdr)->hdr_tag; \
|
||||
(request)->req_recv.req_base.req_ompi.req_status.MPI_SOURCE = (hdr)->hdr_src; \
|
||||
(request)->req_bytes_delivered = (request)->req_recv.req_bytes_packed; \
|
||||
\
|
||||
PERUSE_TRACE_COMM_EVENT( PERUSE_COMM_MSG_MATCH_POSTED_REQ, \
|
||||
&((request)->req_recv.req_base), PERUSE_RECV ); \
|
||||
@ -249,8 +250,6 @@ do {
|
||||
&(request)->req_bytes_delivered ); \
|
||||
PERUSE_TRACE_COMM_EVENT (PERUSE_COMM_REQ_XFER_BEGIN, \
|
||||
&((request)->req_recv.req_base), PERUSE_RECV); \
|
||||
} else { \
|
||||
(request)->req_bytes_delivered = (request)->req_recv.req_bytes_packed; \
|
||||
} \
|
||||
} while (0)
|
||||
|
||||
@ -268,6 +267,7 @@ do {
|
||||
bytes_received, \
|
||||
bytes_delivered) \
|
||||
do { \
|
||||
bytes_delivered = 0; \
|
||||
if(request->req_recv.req_bytes_packed > 0) { \
|
||||
struct iovec iov[MCA_BTL_DES_MAX_SEGMENTS]; \
|
||||
uint32_t iov_count = 0; \
|
||||
@ -296,8 +296,6 @@ do {
|
||||
&max_data, \
|
||||
&free_after); \
|
||||
bytes_delivered = max_data; \
|
||||
} else { \
|
||||
bytes_delivered = 0; \
|
||||
} \
|
||||
} while (0)
|
||||
|
||||
|
Загрузка…
Ссылка в новой задаче
Block a user