Minor cleanups. On the OB1 PML the endpoint is not used => remove it from the build.
There was some old code regarding the convertor which does not have to be there (the problem was corrected a while ago). In the PML we already know how the progress function is defined, so call the BML progress instead, which will save one function call. The macro MCA_PML_OB1_COMPUTE_SEGMENT_LENGTH is already defined in the pml_ob1.h so it should not be in the endpoint.h. Remove a double definition of the mca_pml_ob1_progress function in the pml_ob1.h. This commit was SVN r10775.
Этот коммит содержится в:
родитель
cef1ce19d6
Коммит
9f927dc7c1
@ -17,7 +17,7 @@
|
||||
# $HEADER$
|
||||
#
|
||||
|
||||
EXTRA_DIST = post_configure.sh
|
||||
EXTRA_DIST = post_configure.sh pml_ob1_endpoint.c pml_ob1_endpoint.h
|
||||
|
||||
ob1_sources = \
|
||||
pml_ob1.c \
|
||||
@ -26,8 +26,6 @@ ob1_sources = \
|
||||
pml_ob1_comm.h \
|
||||
pml_ob1_component.c \
|
||||
pml_ob1_component.h \
|
||||
pml_ob1_endpoint.c \
|
||||
pml_ob1_endpoint.h \
|
||||
pml_ob1_hdr.h \
|
||||
pml_ob1_iprobe.c \
|
||||
pml_ob1_irecv.c \
|
||||
|
@ -205,8 +205,6 @@ extern int mca_pml_ob1_dump(
|
||||
int verbose
|
||||
);
|
||||
|
||||
extern int mca_pml_ob1_progress(void);
|
||||
|
||||
extern int mca_pml_ob1_start(
|
||||
size_t count,
|
||||
ompi_request_t** requests
|
||||
|
@ -27,19 +27,6 @@
|
||||
extern "C" {
|
||||
#endif
|
||||
|
||||
/*
|
||||
* Compute the total number of bytes on supplied descriptor
|
||||
*/
|
||||
#define MCA_PML_OB1_COMPUTE_SEGMENT_LENGTH(segments, count, hdrlen, length) \
|
||||
do { \
|
||||
size_t i; \
|
||||
\
|
||||
for( i = 0; i < count; i++ ) { \
|
||||
length += segments[i].seg_len; \
|
||||
} \
|
||||
length -= hdrlen; \
|
||||
} while(0)
|
||||
|
||||
#if defined(c_plusplus) || defined(__cplusplus)
|
||||
}
|
||||
#endif
|
||||
|
@ -828,34 +828,8 @@ int mca_pml_ob1_send_request_schedule(mca_pml_ob1_send_request_t* sendreq)
|
||||
|
||||
/* makes sure that we don't exceed BTL max send size */
|
||||
if (bml_btl->btl_max_send_size != 0 &&
|
||||
size > bml_btl->btl_max_send_size - sizeof(mca_pml_ob1_frag_hdr_t)) {
|
||||
size > (bml_btl->btl_max_send_size - sizeof(mca_pml_ob1_frag_hdr_t))) {
|
||||
size = bml_btl->btl_max_send_size - sizeof(mca_pml_ob1_frag_hdr_t);
|
||||
#if defined(GEORGE_HAVE_TO_MAKE_SURE_THAT_WE_DONT_NEED_IT)
|
||||
/* very expensive - however for buffered sends we need to send on a
|
||||
* boundary that the receiver will be able to unpack completely
|
||||
* using the native datatype
|
||||
*/
|
||||
if(sendreq->req_send.req_send_mode == MCA_PML_BASE_SEND_BUFFERED) {
|
||||
ompi_convertor_t convertor;
|
||||
size_t position = sendreq->req_send_offset + size;
|
||||
/*
|
||||
* We need this local convertor in order to correctly compute
|
||||
* the correct position. Therefore we have to correctly construct and
|
||||
* destruct it.
|
||||
*/
|
||||
OBJ_CONSTRUCT( &convertor, ompi_convertor_t );
|
||||
ompi_convertor_copy_and_prepare_for_send(
|
||||
&sendreq->req_send.req_convertor,
|
||||
sendreq->req_send.req_base.req_datatype,
|
||||
sendreq->req_send.req_base.req_count,
|
||||
sendreq->req_send.req_base.req_addr,
|
||||
0,
|
||||
&convertor);
|
||||
ompi_convertor_set_position(&convertor, &position);
|
||||
OBJ_DESTRUCT( &convertor );
|
||||
size = position - sendreq->req_send_offset;
|
||||
}
|
||||
#endif
|
||||
}
|
||||
|
||||
/* pack into a descriptor */
|
||||
@ -930,7 +904,7 @@ int mca_pml_ob1_send_request_schedule(mca_pml_ob1_send_request_t* sendreq)
|
||||
OPAL_THREAD_UNLOCK(&mca_pml_ob1.lock);
|
||||
break;
|
||||
}
|
||||
mca_pml_ob1_progress();
|
||||
mca_bml.bml_progress();
|
||||
}
|
||||
} while (OPAL_THREAD_ADD32(&sendreq->req_lock,-1) > 0);
|
||||
}
|
||||
|
Загрузка…
x
Ссылка в новой задаче
Block a user