diff --git a/ompi/mca/pml/bfo/pml_bfo_failover.c b/ompi/mca/pml/bfo/pml_bfo_failover.c index 1310632290..22d815885c 100644 --- a/ompi/mca/pml/bfo/pml_bfo_failover.c +++ b/ompi/mca/pml/bfo/pml_bfo_failover.c @@ -831,15 +831,15 @@ void mca_pml_bfo_send_request_restart(mca_pml_bfo_send_request_t* sendreq, sendreq->req_bytes_delivered = 0; sendreq->req_pending = MCA_PML_BFO_SEND_PENDING_NONE; - /* Note that we do not reset the following two items. + /* Note that we do not reset the following three items. * They stay with their original values. * sendreq->req_send.req_base.req_sequence * sendreq->req_restartseq + * sendreq->req_recv.pval */ sendreq->req_restart = 0; /* reset in case we restart again */ sendreq->req_error = 0; /* clear error state */ sendreq->req_events = 0; /* clear events, probably 0 anyways */ - sendreq->req_acked = false; MCA_PML_BASE_SEND_START( &sendreq->req_send.req_base ); diff --git a/ompi/mca/pml/bfo/pml_bfo_failover.h b/ompi/mca/pml/bfo/pml_bfo_failover.h index f311fe5705..e3984697f9 100644 --- a/ompi/mca/pml/bfo/pml_bfo_failover.h +++ b/ompi/mca/pml/bfo/pml_bfo_failover.h @@ -242,7 +242,7 @@ do { (sendreq)->req_send.req_base.req_comm->c_my_rank); \ assert(((mca_pml_bfo_hdr_t*)((des)->des_src->seg_addr.pval))->hdr_match.hdr_seq == \ (uint16_t)(sendreq)->req_send.req_base.req_sequence); \ - if ((!(sendreq)->req_error) && (!(sendreq)->req_acked)) { \ + if ((!(sendreq)->req_error) && (NULL == (sendreq)->req_recv.pval)) { \ (sendreq)->req_events--; \ /* Assume RNDV did not make it, so restart from the beginning. */ \ mca_pml_bfo_send_request_restart(sendreq, true, MCA_PML_BFO_HDR_TYPE_RNDV); \ diff --git a/ompi/mca/pml/bfo/pml_bfo_recvfrag.c b/ompi/mca/pml/bfo/pml_bfo_recvfrag.c index 7be9a7ad83..94e7b8be64 100644 --- a/ompi/mca/pml/bfo/pml_bfo_recvfrag.c +++ b/ompi/mca/pml/bfo/pml_bfo_recvfrag.c @@ -332,9 +332,6 @@ void mca_pml_bfo_recv_frag_callback_ack(mca_btl_base_module_t* btl, */ OPAL_THREAD_ADD32(&sendreq->req_state, -1); } -/* BFO FAILOVER CODE - begin */ - sendreq->req_acked = true; -/* BFO FAILOVER CODE - end */ if(send_request_pml_complete_check(sendreq) == false) mca_pml_bfo_send_request_schedule(sendreq); diff --git a/ompi/mca/pml/bfo/pml_bfo_recvreq.c b/ompi/mca/pml/bfo/pml_bfo_recvreq.c index c45ac5151b..1d4120574a 100644 --- a/ompi/mca/pml/bfo/pml_bfo_recvreq.c +++ b/ompi/mca/pml/bfo/pml_bfo_recvreq.c @@ -168,6 +168,7 @@ static void mca_pml_bfo_recv_ctl_completion( mca_btl_base_module_t* btl, struct mca_btl_base_descriptor_t* des, int status ) { + /* BFO FAILOVER CODE - begin */ if (btl->btl_flags & MCA_BTL_FLAGS_FAILOVER_SUPPORT) { mca_pml_bfo_check_recv_ctl_completion_status(btl, des, status); @@ -337,9 +338,9 @@ static void mca_pml_bfo_rget_completion( mca_btl_base_module_t* btl, struct mca_btl_base_descriptor_t* des, int status ) { + mca_bml_base_btl_t* bml_btl = (mca_bml_base_btl_t*)des->des_context; mca_pml_bfo_rdma_frag_t* frag = (mca_pml_bfo_rdma_frag_t*)des->des_cbdata; mca_pml_bfo_recv_request_t* recvreq = (mca_pml_bfo_recv_request_t*)frag->rdma_req; - mca_bml_base_btl_t* bml_btl; mca_bml_base_endpoint_t* bml_endpoint; /* BFO FAILOVER CODE - begin */ diff --git a/ompi/mca/pml/bfo/pml_bfo_sendreq.c b/ompi/mca/pml/bfo/pml_bfo_sendreq.c index dbb6aeaee5..453422fc17 100644 --- a/ompi/mca/pml/bfo/pml_bfo_sendreq.c +++ b/ompi/mca/pml/bfo/pml_bfo_sendreq.c @@ -1356,7 +1356,6 @@ void mca_pml_bfo_send_request_put( mca_pml_bfo_send_request_t* sendreq, } /* BFO FAILOVER CODE - begin */ sendreq->req_recv = hdr->hdr_dst_req; /* only needed once, but it is OK */ - sendreq->req_acked = true; /* only needed once, but it is OK */ /* BFO FAILOVER CODE - end */ MCA_PML_BFO_RDMA_FRAG_ALLOC(frag, rc); diff --git a/ompi/mca/pml/bfo/pml_bfo_sendreq.h b/ompi/mca/pml/bfo/pml_bfo_sendreq.h index c778e9f224..d38b485497 100644 --- a/ompi/mca/pml/bfo/pml_bfo_sendreq.h +++ b/ompi/mca/pml/bfo/pml_bfo_sendreq.h @@ -47,7 +47,6 @@ struct mca_pml_bfo_send_request_t { int32_t req_restartseq; /* sequence number of restarted request */ int32_t req_restart; /* state of restarted request */ int32_t req_error; /* non-zero when error has occurred on request */ - bool req_acked; /* indicates request has been acked */ /* BFO FAILOVER CODE - end */ int32_t req_state; int32_t req_lock; @@ -443,7 +442,6 @@ mca_pml_bfo_send_request_start( mca_pml_bfo_send_request_t* sendreq ) sendreq->req_restart = 0; /* reset in case we restart again */ sendreq->req_error = 0; /* clear error state */ sendreq->req_events = 0; /* clear events, probably 0 anyways */ - sendreq->req_acked = false; /* BFO FAILOVER CODE - end */ MCA_PML_BASE_SEND_START( &sendreq->req_send.req_base );