1
1

ob1: bug fix. put fallback on send never actually worked. fixed.

This commit was SVN r26602.
Этот коммит содержится в:
Nathan Hjelm 2012-06-14 17:29:58 +00:00
родитель 0e3094c318
Коммит 0d13cbf11c
3 изменённых файлов: 5 добавлений и 0 удалений

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

@ -291,6 +291,7 @@ struct mca_pml_ob1_rdma_hdr_t {
uint32_t hdr_seg_cnt; /**< number of segments for rdma */
ompi_ptr_t hdr_req; /**< destination request */
ompi_ptr_t hdr_des; /**< source descriptor */
ompi_ptr_t hdr_recv_req; /**< receive request (NTH: needed for put fallback on send) */
uint64_t hdr_rdma_offset; /**< current offset into user buffer */
mca_btl_base_segment_t hdr_segs[1]; /**< list of segments for rdma */
};

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

@ -387,6 +387,7 @@ static int mca_pml_ob1_init_get_fallback (mca_pml_ob1_rdma_frag_t *frag,
hdr->hdr_req = frag->rdma_hdr.hdr_rget.hdr_rndv.hdr_src_req;
hdr->hdr_rdma_offset = recvreq->req_rdma_offset;
hdr->hdr_des.pval = dst;
hdr->hdr_recv_req.pval = recvreq;
hdr->hdr_seg_cnt = dst->des_dst_cnt;
@ -904,6 +905,7 @@ int mca_pml_ob1_recv_request_schedule_once( mca_pml_ob1_recv_request_t* recvreq,
(!recvreq->req_ack_sent) ? MCA_PML_OB1_HDR_TYPE_ACK : 0;
hdr->hdr_req = recvreq->remote_req_send;
hdr->hdr_des.pval = dst;
hdr->hdr_recv_req.pval = recvreq;
hdr->hdr_rdma_offset = recvreq->req_rdma_offset;
hdr->hdr_seg_cnt = dst->des_dst_cnt;

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

@ -1242,6 +1242,8 @@ void mca_pml_ob1_send_request_put( mca_pml_ob1_send_request_t* sendreq,
OPAL_THREAD_ADD32(&sendreq->req_state, -1);
}
sendreq->req_recv.pval = hdr->hdr_recv_req.pval;
MCA_PML_OB1_RDMA_FRAG_ALLOC(frag, rc);
if( OPAL_UNLIKELY(NULL == frag) ) {