1
1

Bad things happen if min_rdma_size is smaller then data delivered in the RNDV

packet. Fix this.

This commit was SVN r11548.
Этот коммит содержится в:
Gleb Natapov 2006-09-07 10:42:35 +00:00
родитель 2becfbf650
Коммит e7650ff48a
2 изменённых файлов: 4 добавлений и 4 удалений

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

@ -260,7 +260,7 @@ static int mca_pml_ob1_recv_request_ack(
recvreq->req_rdma_cnt != 0) {
/* start rdma at current fragment offset - no need to ack */
recvreq->req_rdma_offset = recvreq->req_bytes_received;
recvreq->req_rdma_offset = bytes_received;
return OMPI_SUCCESS;
/* are rdma devices available for long rdma protocol */
@ -296,8 +296,8 @@ static int mca_pml_ob1_recv_request_ack(
/* use convertor to figure out the rdma offset for this request */
recvreq->req_rdma_offset = bml_endpoint->btl_rdma_offset;
if(recvreq->req_rdma_offset < recvreq->req_bytes_received) {
recvreq->req_rdma_offset = recvreq->req_bytes_received;
if(recvreq->req_rdma_offset < bytes_received) {
recvreq->req_rdma_offset = bytes_received;
}
ompi_convertor_set_position( &recvreq->req_recv.req_convertor,
&recvreq->req_rdma_offset );

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

@ -867,7 +867,7 @@ int mca_pml_ob1_send_request_schedule_exclusive(
do {
/* allocate remaining bytes to BTLs */
size_t bytes_remaining = sendreq->req_rdma_offset -
int32_t bytes_remaining = sendreq->req_rdma_offset -
sendreq->req_send_offset;
size_t prev_bytes_remaining = 0, num_fail = 0;