ob1: bug fix. put fallback on send never actually worked. fixed.
This commit was SVN r26602.
Этот коммит содержится в:
родитель
0e3094c318
Коммит
0d13cbf11c
@ -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) ) {
|
||||
|
Загрузка…
x
Ссылка в новой задаче
Block a user