1
1

check for rdma btls when leave pinned is set

This commit was SVN r7151.
Этот коммит содержится в:
Tim Woodall 2005-09-02 15:04:47 +00:00
родитель 647f6a7648
Коммит 4fbf7965e3
2 изменённых файлов: 8 добавлений и 2 удалений

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

@ -229,9 +229,13 @@ static void mca_pml_ob1_recv_request_ack(
}
/* start rdma at the current fragment offset - no need to send an ack in this case */
} else {
} else if (mca_bml_base_btl_array_get_size(&bml_endpoint->btl_rdma)) {
recvreq->req_rdma_offset = recvreq->req_bytes_received;
return;
/* don't do rdma */
} else {
recvreq->req_rdma_offset = recvreq->req_recv.req_bytes_packed;
}
/* zero byte message */

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

@ -320,7 +320,9 @@ int mca_pml_ob1_send_request_start_copy(
/* if the data is already registed or leave_pinned is set - then we
* will attempt to do an rdma of the entire message.
*/
do_rdma = (reg_btl != NULL || mca_pml_ob1.leave_pinned) &&
do_rdma = (reg_btl != NULL ||
(mca_pml_ob1.leave_pinned &&
mca_bml_base_btl_array_get_size(&sendreq->bml_endpoint->btl_rdma))) &&
ompi_convertor_need_buffers(&sendreq->req_send.req_convertor) == false;
if(do_rdma == false || (reg_btl != NULL && (reg_btl->btl_flags & MCA_BTL_FLAGS_GET) == 0)) {
int32_t free_after;