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$
|
# $HEADER$
|
||||||
#
|
#
|
||||||
|
|
||||||
EXTRA_DIST = post_configure.sh
|
EXTRA_DIST = post_configure.sh pml_ob1_endpoint.c pml_ob1_endpoint.h
|
||||||
|
|
||||||
ob1_sources = \
|
ob1_sources = \
|
||||||
pml_ob1.c \
|
pml_ob1.c \
|
||||||
@ -26,8 +26,6 @@ ob1_sources = \
|
|||||||
pml_ob1_comm.h \
|
pml_ob1_comm.h \
|
||||||
pml_ob1_component.c \
|
pml_ob1_component.c \
|
||||||
pml_ob1_component.h \
|
pml_ob1_component.h \
|
||||||
pml_ob1_endpoint.c \
|
|
||||||
pml_ob1_endpoint.h \
|
|
||||||
pml_ob1_hdr.h \
|
pml_ob1_hdr.h \
|
||||||
pml_ob1_iprobe.c \
|
pml_ob1_iprobe.c \
|
||||||
pml_ob1_irecv.c \
|
pml_ob1_irecv.c \
|
||||||
|
@ -205,8 +205,6 @@ extern int mca_pml_ob1_dump(
|
|||||||
int verbose
|
int verbose
|
||||||
);
|
);
|
||||||
|
|
||||||
extern int mca_pml_ob1_progress(void);
|
|
||||||
|
|
||||||
extern int mca_pml_ob1_start(
|
extern int mca_pml_ob1_start(
|
||||||
size_t count,
|
size_t count,
|
||||||
ompi_request_t** requests
|
ompi_request_t** requests
|
||||||
|
@ -27,19 +27,6 @@
|
|||||||
extern "C" {
|
extern "C" {
|
||||||
#endif
|
#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)
|
#if defined(c_plusplus) || defined(__cplusplus)
|
||||||
}
|
}
|
||||||
#endif
|
#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 */
|
/* makes sure that we don't exceed BTL max send size */
|
||||||
if (bml_btl->btl_max_send_size != 0 &&
|
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);
|
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 */
|
/* 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);
|
OPAL_THREAD_UNLOCK(&mca_pml_ob1.lock);
|
||||||
break;
|
break;
|
||||||
}
|
}
|
||||||
mca_pml_ob1_progress();
|
mca_bml.bml_progress();
|
||||||
}
|
}
|
||||||
} while (OPAL_THREAD_ADD32(&sendreq->req_lock,-1) > 0);
|
} while (OPAL_THREAD_ADD32(&sendreq->req_lock,-1) > 0);
|
||||||
}
|
}
|
||||||
|
Загрузка…
x
Ссылка в новой задаче
Block a user