1
1

fix mpi_leave_pinned case for arbitrary datatypes

George will be streamlining this with a new convertor function soon... 

This commit was SVN r14174.
Этот коммит содержится в:
Galen Shipman 2007-03-30 02:06:08 +00:00
родитель 680d08ed64
Коммит a78672be2b
2 изменённых файлов: 12 добавлений и 2 удалений

Просмотреть файл

@ -247,9 +247,14 @@ static int mca_pml_ob1_recv_request_ack(
if(ompi_convertor_need_buffers(&recvreq->req_recv.req_convertor) == 0 &&
hdr->hdr_match.hdr_common.hdr_flags & MCA_PML_OB1_HDR_FLAGS_CONTIG) {
char *base;
ptrdiff_t lb;
ompi_ddt_type_lb(recvreq->req_recv.req_convertor.pDesc, &lb);
base = recvreq->req_recv.req_convertor.pBaseBuf + lb;
recvreq->req_rdma_cnt = mca_pml_ob1_rdma_btls(
bml_endpoint,
(unsigned char*)recvreq->req_recv.req_base.req_addr,
(unsigned char*) base,
recvreq->req_recv.req_bytes_packed,
recvreq->req_rdma);

Просмотреть файл

@ -286,9 +286,14 @@ static inline int mca_pml_ob1_send_request_start_btl(
rc = mca_pml_ob1_send_request_start_buffered(sendreq, bml_btl, size);
} else if
(ompi_convertor_need_buffers(&sendreq->req_send.req_convertor) == false) {
char *base;
ptrdiff_t lb;
ompi_ddt_type_lb(sendreq->req_send.req_convertor.pDesc, &lb);
base = sendreq->req_send.req_convertor.pBaseBuf + lb;
if( 0 != (sendreq->req_rdma_cnt = (uint32_t)mca_pml_ob1_rdma_btls(
sendreq->req_endpoint,
(unsigned char*)sendreq->req_send.req_addr,
(unsigned char*) base,
sendreq->req_send.req_bytes_packed,
sendreq->req_rdma))) {
rc = mca_pml_ob1_send_request_start_rdma(sendreq, bml_btl,