Add closing comment to #ifdefs. No code changes.
This commit was SVN r24083.
Этот коммит содержится в:
родитель
39c9f7468e
Коммит
f65309364b
@ -50,7 +50,7 @@
|
||||
#include "pml_bfo_rdmafrag.h"
|
||||
#if PML_BFO
|
||||
#include "pml_bfo_failover.h"
|
||||
#endif
|
||||
#endif /* PML_BFO */
|
||||
|
||||
mca_pml_bfo_t mca_pml_bfo = {
|
||||
{
|
||||
@ -414,7 +414,7 @@ int mca_pml_bfo_add_procs(ompi_proc_t** procs, size_t nprocs)
|
||||
rc = mca_pml_bfo_register_callbacks();
|
||||
if(OMPI_SUCCESS != rc)
|
||||
goto cleanup_and_return;
|
||||
#endif
|
||||
#endif /* PML_BFO */
|
||||
/* register error handlers */
|
||||
rc = mca_bml.bml_register_error(mca_pml_bfo_error_handler);
|
||||
if(OMPI_SUCCESS != rc)
|
||||
@ -477,7 +477,7 @@ static void mca_pml_bfo_fin_completion( mca_btl_base_module_t* btl,
|
||||
return;
|
||||
}
|
||||
MCA_PML_BFO_CHECK_EAGER_BML_BTL_ON_FIN_COMPLETION(bml_btl, btl, des);
|
||||
#endif
|
||||
#endif /* PML_BFO */
|
||||
/* check for pending requests */
|
||||
MCA_PML_BFO_PROGRESS_PENDING(bml_btl);
|
||||
}
|
||||
@ -497,9 +497,9 @@ int mca_pml_bfo_send_fin( ompi_proc_t* proc,
|
||||
uint16_t seq,
|
||||
uint8_t restartseq,
|
||||
uint16_t ctx, uint32_t src)
|
||||
#else
|
||||
#else /* PML_BFO */
|
||||
uint32_t status )
|
||||
#endif
|
||||
#endif /* PML_BFO */
|
||||
{
|
||||
mca_btl_base_descriptor_t* fin;
|
||||
mca_pml_bfo_fin_hdr_t* hdr;
|
||||
@ -527,7 +527,7 @@ int mca_pml_bfo_send_fin( ompi_proc_t* proc,
|
||||
hdr->hdr_match.hdr_ctx = ctx;
|
||||
hdr->hdr_match.hdr_src = src;
|
||||
hdr->hdr_match.hdr_common.hdr_flags = restartseq; /* use unused hdr_flags field */
|
||||
#endif
|
||||
#endif /* PML_BFO */
|
||||
|
||||
bfo_hdr_hton(hdr, MCA_PML_BFO_HDR_TYPE_FIN, proc);
|
||||
|
||||
@ -600,9 +600,9 @@ void mca_pml_bfo_process_pending_packets(mca_bml_base_btl_t* bml_btl)
|
||||
pckt->hdr.hdr_fin.hdr_match.hdr_common.hdr_flags,
|
||||
pckt->hdr.hdr_fin.hdr_match.hdr_ctx,
|
||||
pckt->hdr.hdr_fin.hdr_match.hdr_src);
|
||||
#else
|
||||
#else /* PML_BFO */
|
||||
pckt->hdr.hdr_fin.hdr_fail);
|
||||
#endif
|
||||
#endif /* PML_BFO */
|
||||
if( OPAL_UNLIKELY(OMPI_ERR_OUT_OF_RESOURCE == OPAL_SOS_GET_ERROR_CODE(rc)) ) {
|
||||
return;
|
||||
}
|
||||
@ -649,7 +649,7 @@ void mca_pml_bfo_error_handler(
|
||||
mca_pml_bfo_failover_error_handler(btl, flags, errproc, btlinfo);
|
||||
return;
|
||||
}
|
||||
#endif
|
||||
#endif /* PML_BFO */
|
||||
orte_errmgr.abort(-1, NULL);
|
||||
}
|
||||
|
||||
|
@ -50,7 +50,7 @@
|
||||
#define MCA_PML_BFO_HDR_TYPE_RNDVRESTARTACK (MCA_BTL_TAG_PML + 11)
|
||||
#define MCA_PML_BFO_HDR_TYPE_RNDVRESTARTNACK (MCA_BTL_TAG_PML + 12)
|
||||
#define MCA_PML_BFO_HDR_TYPE_RECVERRNOTIFY (MCA_BTL_TAG_PML + 13)
|
||||
#endif
|
||||
#endif /* PML_BFO */
|
||||
|
||||
#define MCA_PML_BFO_HDR_FLAGS_ACK 1 /* is an ack required */
|
||||
#define MCA_PML_BFO_HDR_FLAGS_NBO 2 /* is the hdr in network byte order */
|
||||
@ -59,7 +59,7 @@
|
||||
#define MCA_PML_BFO_HDR_FLAGS_NORDMA 16 /* rest will be send by copy-in-out */
|
||||
#if PML_BFO
|
||||
#define MCA_PML_BFO_HDR_FLAGS_RESTART 32 /* restart RNDV because of error */
|
||||
#endif
|
||||
#endif /* PML_BFO */
|
||||
|
||||
/**
|
||||
* Common hdr attributes - must be first element in each hdr type
|
||||
@ -136,7 +136,7 @@ struct mca_pml_bfo_rendezvous_hdr_t {
|
||||
#if PML_BFO
|
||||
ompi_ptr_t hdr_dst_req; /**< pointer to dst req */
|
||||
uint8_t hdr_restartseq; /**< restart sequence */
|
||||
#endif
|
||||
#endif /* PML_BFO */
|
||||
};
|
||||
typedef struct mca_pml_bfo_rendezvous_hdr_t mca_pml_bfo_rendezvous_hdr_t;
|
||||
|
||||
@ -303,7 +303,7 @@ struct mca_pml_bfo_rdma_hdr_t {
|
||||
ompi_ptr_t hdr_req; /**< destination request */
|
||||
#if PML_BFO
|
||||
ompi_ptr_t hdr_dst_req; /**< pointer to destination request */
|
||||
#endif
|
||||
#endif /* PML_BFO */
|
||||
ompi_ptr_t hdr_des; /**< source descriptor */
|
||||
uint64_t hdr_rdma_offset; /**< current offset into user buffer */
|
||||
mca_btl_base_segment_t hdr_segs[1]; /**< list of segments for rdma */
|
||||
@ -347,7 +347,7 @@ struct mca_pml_bfo_fin_hdr_t {
|
||||
#if PML_BFO
|
||||
/* Match info is needed to check for duplicate FIN messages. */
|
||||
mca_pml_bfo_match_hdr_t hdr_match;
|
||||
#endif
|
||||
#endif /* PML_BFO */
|
||||
uint32_t hdr_fail; /**< RDMA operation failed */
|
||||
ompi_ptr_t hdr_des; /**< completed descriptor */
|
||||
};
|
||||
@ -413,8 +413,8 @@ typedef struct mca_pml_bfo_restart_hdr_t mca_pml_bfo_restart_hdr_t;
|
||||
(h).hdr_jobid = htonl((h).hdr_jobid); \
|
||||
(h).hdr_vpid = htonl((h).hdr_vpid); \
|
||||
} while (0)
|
||||
#endif
|
||||
|
||||
#endif /* PML_BFO */
|
||||
/**
|
||||
* Union of defined hdr types.
|
||||
*/
|
||||
@ -429,7 +429,7 @@ union mca_pml_bfo_hdr_t {
|
||||
mca_pml_bfo_fin_hdr_t hdr_fin;
|
||||
#if PML_BFO
|
||||
mca_pml_bfo_restart_hdr_t hdr_restart;
|
||||
#endif
|
||||
#endif /* PML_BFO */
|
||||
};
|
||||
typedef union mca_pml_bfo_hdr_t mca_pml_bfo_hdr_t;
|
||||
|
||||
|
@ -38,7 +38,7 @@ struct mca_pml_bfo_rdma_frag_t {
|
||||
mca_bml_base_btl_t* rdma_bml;
|
||||
#if PML_BFO
|
||||
mca_btl_base_module_t* rdma_btl;
|
||||
#endif
|
||||
#endif /* PML_BFO */
|
||||
mca_pml_bfo_hdr_t rdma_hdr;
|
||||
mca_pml_bfo_rdma_state_t rdma_state;
|
||||
size_t rdma_length;
|
||||
|
@ -43,7 +43,7 @@
|
||||
#include "pml_bfo_hdr.h"
|
||||
#if PML_BFO
|
||||
#include "pml_bfo_failover.h"
|
||||
#endif
|
||||
#endif /* PML_BFO */
|
||||
|
||||
OBJ_CLASS_INSTANCE( mca_pml_bfo_buffer_t,
|
||||
ompi_free_list_item_t,
|
||||
@ -246,7 +246,7 @@ void mca_pml_bfo_recv_frag_callback_match(mca_btl_base_module_t* btl,
|
||||
if (true == mca_pml_bfo_is_duplicate_msg(proc, hdr)) {
|
||||
return;
|
||||
}
|
||||
#endif
|
||||
#endif /* PML_BFO */
|
||||
mca_pml_bfo_recv_frag_match(btl, hdr, segments,
|
||||
num_segments, MCA_PML_BFO_HDR_TYPE_MATCH);
|
||||
}
|
||||
@ -306,7 +306,7 @@ void mca_pml_bfo_recv_frag_callback_ack(mca_btl_base_module_t* btl,
|
||||
sendreq->req_recv = hdr->hdr_ack.hdr_dst_req;
|
||||
#if PML_BFO
|
||||
MCA_PML_BFO_ERROR_CHECK_ON_ACK_CALLBACK(sendreq);
|
||||
#endif
|
||||
#endif /* PML_BFO */
|
||||
|
||||
/* if the request should be delivered entirely by copy in/out
|
||||
* then throttle sends */
|
||||
@ -352,7 +352,7 @@ void mca_pml_bfo_recv_frag_callback_frag(mca_btl_base_module_t* btl,
|
||||
recvreq = (mca_pml_bfo_recv_request_t*)hdr->hdr_frag.hdr_dst_req.pval;
|
||||
#if PML_BFO
|
||||
MCA_PML_BFO_ERROR_CHECK_ON_FRAG_CALLBACK(recvreq);
|
||||
#endif
|
||||
#endif /* PML_BFO */
|
||||
mca_pml_bfo_recv_request_progress_frag(recvreq,btl,segments,des->des_dst_cnt);
|
||||
|
||||
return;
|
||||
@ -375,7 +375,7 @@ void mca_pml_bfo_recv_frag_callback_put(mca_btl_base_module_t* btl,
|
||||
sendreq = (mca_pml_bfo_send_request_t*)hdr->hdr_rdma.hdr_req.pval;
|
||||
#if PML_BFO
|
||||
MCA_PML_BFO_ERROR_CHECK_ON_PUT_CALLBACK(sendreq);
|
||||
#endif
|
||||
#endif /* PML_BFO */
|
||||
mca_pml_bfo_send_request_put(sendreq,btl,&hdr->hdr_rdma);
|
||||
|
||||
return;
|
||||
@ -400,7 +400,7 @@ void mca_pml_bfo_recv_frag_callback_fin(mca_btl_base_module_t* btl,
|
||||
if (true == mca_pml_bfo_is_duplicate_fin(hdr, rdma, btl)) {
|
||||
return;
|
||||
}
|
||||
#endif
|
||||
#endif /* PML_BFO */
|
||||
rdma->des_cbfunc(btl, NULL, rdma,
|
||||
hdr->hdr_fin.hdr_fail ? OMPI_ERROR : OMPI_SUCCESS);
|
||||
|
||||
@ -631,7 +631,7 @@ static int mca_pml_bfo_recv_frag_match( mca_btl_base_module_t *btl,
|
||||
return OMPI_SUCCESS;
|
||||
}
|
||||
} else {
|
||||
#endif
|
||||
#endif /* PML_BFO */
|
||||
/* get sequence number of next message that can be processed */
|
||||
next_msg_seq_expected = (uint16_t)proc->expected_sequence;
|
||||
if(OPAL_UNLIKELY(frag_msg_seq != next_msg_seq_expected))
|
||||
@ -670,7 +670,7 @@ out_of_order_match:
|
||||
|
||||
#if PML_BFO
|
||||
}
|
||||
#endif
|
||||
#endif /* PML_BFO */
|
||||
if(OPAL_LIKELY(match)) {
|
||||
switch(type) {
|
||||
case MCA_PML_BFO_HDR_TYPE_MATCH:
|
||||
@ -716,7 +716,7 @@ wrong_seq:
|
||||
if (true == mca_pml_bfo_is_duplicate_msg(proc, hdr)) {
|
||||
return OMPI_SUCCESS;
|
||||
}
|
||||
#endif
|
||||
#endif /* PML_BFO */
|
||||
append_frag_to_list(&proc->frags_cant_match, btl, hdr, segments,
|
||||
num_segments, NULL);
|
||||
OPAL_THREAD_UNLOCK(&comm->matching_lock);
|
||||
|
@ -35,7 +35,7 @@
|
||||
#include "ompi/memchecker.h"
|
||||
#if PML_BFO
|
||||
#include "pml_bfo_failover.h"
|
||||
#endif
|
||||
#endif /* PML_BFO */
|
||||
|
||||
void mca_pml_bfo_recv_request_process_pending(void)
|
||||
{
|
||||
@ -175,7 +175,7 @@ static void mca_pml_bfo_recv_ctl_completion( mca_btl_base_module_t* btl,
|
||||
mca_pml_bfo_check_recv_ctl_completion_status(btl, des, status);
|
||||
}
|
||||
MCA_PML_BFO_CHECK_RECVREQ_EAGER_BML_BTL_RECV_CTL(bml_btl, btl, des);
|
||||
#endif
|
||||
#endif /* PML_BFO */
|
||||
MCA_PML_BFO_PROGRESS_PENDING(bml_btl);
|
||||
}
|
||||
|
||||
@ -202,9 +202,9 @@ static void mca_pml_bfo_put_completion( mca_btl_base_module_t* btl,
|
||||
btl->btl_free(btl, des);
|
||||
MCA_PML_BFO_ERROR_CHECK_ON_FIN_FOR_PUT(recvreq);
|
||||
MCA_PML_BFO_CHECK_RECVREQ_EAGER_BML_BTL(bml_btl, btl, recvreq, "PUT");
|
||||
#else
|
||||
#else /* PML_BFO */
|
||||
mca_bml_base_free(bml_btl, des);
|
||||
#endif
|
||||
#endif /* PML_BFO */
|
||||
|
||||
/* check completion status */
|
||||
OPAL_THREAD_ADD_SIZE_T(&recvreq->req_bytes_received, bytes_received);
|
||||
@ -251,7 +251,7 @@ int mca_pml_bfo_recv_request_ack_send_btl(
|
||||
des->des_cbfunc = mca_pml_bfo_recv_ctl_completion;
|
||||
#if PML_BFO
|
||||
des->des_cbdata = hdr_dst_req;
|
||||
#endif
|
||||
#endif /* PML_BFO */
|
||||
|
||||
rc = mca_bml_base_send(bml_btl, des, MCA_PML_BFO_HDR_TYPE_ACK);
|
||||
if( OPAL_LIKELY( rc >= 0 ) ) {
|
||||
@ -260,7 +260,7 @@ int mca_pml_bfo_recv_request_ack_send_btl(
|
||||
(des->des_flags & MCA_BTL_DES_SEND_ALWAYS_CALLBACK)) {
|
||||
((mca_pml_bfo_recv_request_t *)hdr_dst_req)->req_events++;
|
||||
}
|
||||
#endif
|
||||
#endif /* PML_BFO */
|
||||
return OMPI_SUCCESS;
|
||||
}
|
||||
mca_bml_base_free(bml_btl, des);
|
||||
@ -350,21 +350,21 @@ static void mca_pml_bfo_rget_completion( mca_btl_base_module_t* btl,
|
||||
if (btl->btl_flags & MCA_BTL_FLAGS_FAILOVER_SUPPORT) {
|
||||
recvreq->req_events--;
|
||||
}
|
||||
#endif
|
||||
#endif /* PML_BFO */
|
||||
/* check completion status */
|
||||
if( OPAL_UNLIKELY(OMPI_SUCCESS != status) ) {
|
||||
#if PML_BFO
|
||||
MCA_PML_BFO_ERROR_CHECK_ON_RDMA_READ_COMPLETION(recvreq);
|
||||
#else
|
||||
#else /* PML_BFO */
|
||||
/* TSW - FIX */
|
||||
ORTE_ERROR_LOG(status);
|
||||
orte_errmgr.abort(-1, NULL);
|
||||
#endif
|
||||
#endif /* PML_BFO */
|
||||
}
|
||||
#if PML_BFO
|
||||
MCA_PML_BFO_SECOND_ERROR_CHECK_ON_RDMA_READ_COMPLETION(recvreq, status, btl);
|
||||
MCA_PML_BFO_CHECK_RECVREQ_RDMA_BML_BTL(bml_btl, btl, recvreq, "RDMA write");
|
||||
#endif
|
||||
#endif /* PML_BFO */
|
||||
|
||||
mca_pml_bfo_send_fin(recvreq->req_recv.req_base.req_proc,
|
||||
bml_btl,
|
||||
@ -373,9 +373,9 @@ static void mca_pml_bfo_rget_completion( mca_btl_base_module_t* btl,
|
||||
des->order, 0, (uint16_t)recvreq->req_msgseq, recvreq->req_restartseq,
|
||||
recvreq->req_recv.req_base.req_comm->c_contextid,
|
||||
recvreq->req_recv.req_base.req_comm->c_my_rank);
|
||||
#else
|
||||
#else /* PML_BFO */
|
||||
des->order, 0);
|
||||
#endif
|
||||
#endif /* PML_BFO */
|
||||
|
||||
/* is receive request complete */
|
||||
OPAL_THREAD_ADD_SIZE_T(&recvreq->req_bytes_received, frag->rdma_length);
|
||||
@ -444,7 +444,7 @@ int mca_pml_bfo_recv_request_get_frag( mca_pml_bfo_rdma_frag_t* frag )
|
||||
(descriptor->des_flags & MCA_BTL_DES_SEND_ALWAYS_CALLBACK)) {
|
||||
recvreq->req_events++;
|
||||
}
|
||||
#endif
|
||||
#endif /* PML_BFO */
|
||||
|
||||
return OMPI_SUCCESS;
|
||||
}
|
||||
@ -528,7 +528,7 @@ void mca_pml_bfo_recv_request_progress_rget( mca_pml_bfo_recv_request_t* recvreq
|
||||
|
||||
#if PML_BFO
|
||||
recvreq->remote_req_send = hdr->hdr_rndv.hdr_src_req;
|
||||
#endif
|
||||
#endif /* PML_BFO */
|
||||
MCA_PML_BFO_RECV_REQUEST_MATCHED(recvreq, &hdr->hdr_rndv.hdr_match);
|
||||
|
||||
/* if receive buffer is not contiguous we can't just RDMA read into it, so
|
||||
@ -565,7 +565,7 @@ void mca_pml_bfo_recv_request_progress_rget( mca_pml_bfo_recv_request_t* recvreq
|
||||
}
|
||||
#if PML_BFO
|
||||
frag->rdma_btl = btl;
|
||||
#endif
|
||||
#endif /* PML_BFO */
|
||||
frag->rdma_bml = mca_bml_base_btl_array_find(&bml_endpoint->btl_rdma, btl);
|
||||
if( OPAL_UNLIKELY(NULL == frag->rdma_bml) ) {
|
||||
opal_output(0, "[%s:%d] invalid bml for rdma get", __FILE__, __LINE__);
|
||||
@ -837,7 +837,7 @@ int mca_pml_bfo_recv_request_schedule_once( mca_pml_bfo_recv_request_t* recvreq,
|
||||
ctl->des_cbfunc = mca_pml_bfo_recv_ctl_completion;
|
||||
#if PML_BFO
|
||||
ctl->des_cbdata = recvreq;
|
||||
#endif
|
||||
#endif /* PML_BFO */
|
||||
|
||||
/* fill in rdma header */
|
||||
hdr = (mca_pml_bfo_rdma_hdr_t*)ctl->des_src->seg_addr.pval;
|
||||
@ -847,7 +847,7 @@ int mca_pml_bfo_recv_request_schedule_once( mca_pml_bfo_recv_request_t* recvreq,
|
||||
hdr->hdr_req = recvreq->remote_req_send;
|
||||
#if PML_BFO
|
||||
hdr->hdr_dst_req.pval = recvreq; /* only needed in the first put message */
|
||||
#endif
|
||||
#endif /* PML_BFO */
|
||||
hdr->hdr_des.pval = dst;
|
||||
hdr->hdr_rdma_offset = recvreq->req_rdma_offset;
|
||||
hdr->hdr_seg_cnt = dst->des_dst_cnt;
|
||||
@ -874,7 +874,7 @@ int mca_pml_bfo_recv_request_schedule_once( mca_pml_bfo_recv_request_t* recvreq,
|
||||
(ctl->des_flags & MCA_BTL_DES_SEND_ALWAYS_CALLBACK)) {
|
||||
recvreq->req_events++;
|
||||
}
|
||||
#endif
|
||||
#endif /* PML_BFO */
|
||||
/* update request state */
|
||||
recvreq->req_rdma_offset += size;
|
||||
OPAL_THREAD_ADD_SIZE_T(&recvreq->req_pipeline_depth, 1);
|
||||
@ -1005,7 +1005,7 @@ void mca_pml_bfo_recv_req_start(mca_pml_bfo_recv_request_t *req)
|
||||
req->req_events = 0;
|
||||
req->req_restartseq = 0;
|
||||
req->req_errstate = 0;
|
||||
#endif
|
||||
#endif /* PML_BFO */
|
||||
req->req_rdma_idx = 0;
|
||||
req->req_pending = false;
|
||||
req->req_ack_sent = false;
|
||||
|
@ -34,7 +34,7 @@
|
||||
#define RECVREQ_RECVERRSENT 0x01
|
||||
#define RECVREQ_RNDVRESTART_RECVED 0x02
|
||||
#define RECVREQ_RNDVRESTART_ACKED 0x04
|
||||
#endif
|
||||
#endif /* PML_BFO */
|
||||
|
||||
BEGIN_C_DECLS
|
||||
|
||||
@ -46,7 +46,7 @@ struct mca_pml_bfo_recv_request_t {
|
||||
int32_t req_events; /* number of outstanding events on request */
|
||||
int32_t req_restartseq; /* sequence number of restarted request */
|
||||
int32_t req_errstate; /* state of request if in error */
|
||||
#endif
|
||||
#endif /* PML_BFO */
|
||||
int32_t req_lock;
|
||||
size_t req_pipeline_depth;
|
||||
size_t req_bytes_received; /**< amount of data transferred into the user buffer */
|
||||
@ -170,7 +170,7 @@ recv_request_pml_complete(mca_pml_bfo_recv_request_t *recvreq)
|
||||
recvreq->req_rdma_cnt = 0;
|
||||
#if PML_BFO
|
||||
recvreq->req_msgseq -= 100;
|
||||
#endif
|
||||
#endif /* PML_BFO */
|
||||
|
||||
OPAL_THREAD_LOCK(&ompi_request_lock);
|
||||
if(true == recvreq->req_recv.req_base.req_free_called) {
|
||||
@ -201,9 +201,9 @@ recv_request_pml_complete_check(mca_pml_bfo_recv_request_t *recvreq)
|
||||
recvreq->req_bytes_received >= recvreq->req_recv.req_bytes_packed &&
|
||||
#if PML_BFO
|
||||
(0 == recvreq->req_events) && lock_recv_request(recvreq)) {
|
||||
#else
|
||||
#else /* PML_BFO */
|
||||
lock_recv_request(recvreq)) {
|
||||
#endif
|
||||
#endif /* PML_BFO */
|
||||
recv_request_pml_complete(recvreq);
|
||||
return true;
|
||||
}
|
||||
@ -240,7 +240,7 @@ static inline void recv_req_matched(mca_pml_bfo_recv_request_t *req,
|
||||
req->req_match_received = true;
|
||||
#if PML_BFO
|
||||
req->req_msgseq = hdr->hdr_seq;
|
||||
#endif
|
||||
#endif /* PML_BFO */
|
||||
#if OPAL_HAVE_THREAD_SUPPORT
|
||||
opal_atomic_wmb();
|
||||
#endif
|
||||
|
@ -33,7 +33,7 @@
|
||||
#include "pml_bfo_recvreq.h"
|
||||
#if PML_BFO
|
||||
#include "pml_bfo_failover.h"
|
||||
#endif
|
||||
#endif /* PML_BFO */
|
||||
#include "ompi/mca/bml/base/base.h"
|
||||
#include "ompi/memchecker.h"
|
||||
|
||||
@ -186,15 +186,15 @@ mca_pml_bfo_match_completion_free( struct mca_btl_base_module_t* btl,
|
||||
#if PML_BFO
|
||||
mca_pml_bfo_repost_match_fragment(des);
|
||||
return;
|
||||
#else
|
||||
#else /* PML_BFO */
|
||||
/* TSW - FIX */
|
||||
opal_output(0, "%s:%d FATAL", __FILE__, __LINE__);
|
||||
orte_errmgr.abort(-1, NULL);
|
||||
#endif
|
||||
#endif /* PML_BFO */
|
||||
}
|
||||
#if PML_BFO
|
||||
MCA_PML_BFO_CHECK_SENDREQ_EAGER_BML_BTL(bml_btl, btl, sendreq, "MATCH");
|
||||
#endif
|
||||
#endif /* PML_BFO */
|
||||
mca_pml_bfo_match_completion_free_request( bml_btl, sendreq );
|
||||
}
|
||||
|
||||
@ -238,17 +238,17 @@ mca_pml_bfo_rndv_completion( mca_btl_base_module_t* btl,
|
||||
#if PML_BFO
|
||||
if (true == mca_pml_bfo_rndv_completion_status_error(des, sendreq))
|
||||
return;
|
||||
#else
|
||||
#else /* PML_BFO */
|
||||
/* TSW - FIX */
|
||||
opal_output(0, "%s:%d FATAL", __FILE__, __LINE__);
|
||||
orte_errmgr.abort(-1, NULL);
|
||||
#endif
|
||||
#endif /* PML_BFO */
|
||||
}
|
||||
#if PML_BFO
|
||||
sendreq->req_events--;
|
||||
MCA_PML_BFO_RNDV_COMPLETION_SENDREQ_ERROR_CHECK(sendreq, status, btl,
|
||||
MCA_PML_BFO_HDR_TYPE_RNDV, "RNDV");
|
||||
#endif
|
||||
#endif /* PML_BFO */
|
||||
|
||||
/* count bytes of user data actually delivered. As the rndv completion only
|
||||
* happens in one thread, the increase of the req_bytes_delivered does not
|
||||
@ -261,7 +261,7 @@ mca_pml_bfo_rndv_completion( mca_btl_base_module_t* btl,
|
||||
|
||||
#if PML_BFO
|
||||
MCA_PML_BFO_CHECK_SENDREQ_EAGER_BML_BTL(bml_btl, btl, sendreq, "RNDV");
|
||||
#endif
|
||||
#endif /* PML_BFO */
|
||||
mca_pml_bfo_rndv_completion_request( bml_btl, sendreq, req_bytes_delivered );
|
||||
}
|
||||
|
||||
@ -281,7 +281,7 @@ mca_pml_bfo_rget_completion( mca_btl_base_module_t* btl,
|
||||
size_t req_bytes_delivered = 0;
|
||||
#if PML_BFO
|
||||
MCA_PML_BFO_RGET_COMPLETION_SENDREQ_ERROR_CHECK(sendreq, btl, des);
|
||||
#endif
|
||||
#endif /* PML_BFO */
|
||||
|
||||
/* count bytes of user data actually delivered and check for request completion */
|
||||
MCA_PML_BFO_COMPUTE_SEGMENT_LENGTH( des->des_src, des->des_src_cnt,
|
||||
@ -293,9 +293,9 @@ mca_pml_bfo_rget_completion( mca_btl_base_module_t* btl,
|
||||
#if PML_BFO
|
||||
btl->btl_free(btl, des);
|
||||
MCA_PML_BFO_CHECK_SENDREQ_RDMA_BML_BTL(bml_btl, btl, sendreq, "RGET");
|
||||
#else
|
||||
#else /* PML_BFO */
|
||||
mca_bml_base_free(bml_btl, des);
|
||||
#endif
|
||||
#endif /* PML_BFO */
|
||||
MCA_PML_BFO_PROGRESS_PENDING(bml_btl);
|
||||
}
|
||||
|
||||
@ -318,7 +318,7 @@ mca_pml_bfo_send_ctl_completion( mca_btl_base_module_t* btl,
|
||||
return;
|
||||
}
|
||||
MCA_PML_BFO_CHECK_SENDREQ_EAGER_BML_BTL(bml_btl, btl, des->des_cbdata, "RGET");
|
||||
#endif
|
||||
#endif /* PML_BFO */
|
||||
/* check for pending requests */
|
||||
MCA_PML_BFO_PROGRESS_PENDING(bml_btl);
|
||||
}
|
||||
@ -339,17 +339,17 @@ mca_pml_bfo_frag_completion( mca_btl_base_module_t* btl,
|
||||
size_t req_bytes_delivered = 0;
|
||||
#if PML_BFO
|
||||
sendreq->req_events--;
|
||||
#endif
|
||||
#endif /* PML_BFO */
|
||||
|
||||
/* check completion status */
|
||||
if( OPAL_UNLIKELY(OMPI_SUCCESS != status) ) {
|
||||
#if PML_BFO
|
||||
sendreq->req_error++;
|
||||
#else
|
||||
#else /* PML_BFO */
|
||||
/* TSW - FIX */
|
||||
opal_output(0, "%s:%d FATAL", __FILE__, __LINE__);
|
||||
orte_errmgr.abort(-1, NULL);
|
||||
#endif
|
||||
#endif /* PML_BFO */
|
||||
}
|
||||
|
||||
/* count bytes of user data actually delivered */
|
||||
@ -364,20 +364,20 @@ mca_pml_bfo_frag_completion( mca_btl_base_module_t* btl,
|
||||
#if PML_BFO
|
||||
MCA_PML_BFO_FRAG_COMPLETION_SENDREQ_ERROR_CHECK(sendreq, status, btl,
|
||||
MCA_PML_BFO_HDR_TYPE_FRAG, "FRAG");
|
||||
#endif
|
||||
#endif /* PML_BFO */
|
||||
if(send_request_pml_complete_check(sendreq) == false) {
|
||||
mca_pml_bfo_send_request_schedule(sendreq);
|
||||
#if PML_BFO
|
||||
MCA_PML_BFO_FRAG_COMPLETION_SENDREQ_ERROR_CHECK(sendreq, status, btl,
|
||||
MCA_PML_BFO_HDR_TYPE_FRAG,
|
||||
"FRAG (BTL removal)");
|
||||
#endif
|
||||
#endif /* PML_BFO */
|
||||
}
|
||||
|
||||
/* check for pending requests */
|
||||
#if PML_BFO
|
||||
MCA_PML_BFO_CHECK_SENDREQ_EAGER_BML_BTL(bml_btl, btl, sendreq, "FRAG");
|
||||
#endif
|
||||
#endif /* PML_BFO */
|
||||
MCA_PML_BFO_PROGRESS_PENDING(bml_btl);
|
||||
}
|
||||
|
||||
@ -435,7 +435,7 @@ int mca_pml_bfo_send_request_start_buffered(
|
||||
hdr->hdr_rndv.hdr_src_req.pval = sendreq;
|
||||
#if PML_BFO
|
||||
MCA_PML_BFO_CHECK_FOR_RNDV_RESTART(hdr, sendreq, "RNDV(buffered)");
|
||||
#endif
|
||||
#endif /* PML_BFO */
|
||||
|
||||
bfo_hdr_hton(hdr, MCA_PML_BFO_HDR_TYPE_RNDV,
|
||||
sendreq->req_send.req_base.req_proc);
|
||||
@ -488,7 +488,7 @@ int mca_pml_bfo_send_request_start_buffered(
|
||||
if (des->des_flags & MCA_BTL_DES_SEND_ALWAYS_CALLBACK) {
|
||||
sendreq->req_events++;
|
||||
}
|
||||
#endif
|
||||
#endif /* PML_BFO */
|
||||
return OMPI_SUCCESS;
|
||||
}
|
||||
mca_bml_base_free(bml_btl, des );
|
||||
@ -540,7 +540,7 @@ int mca_pml_bfo_send_request_start_copy( mca_pml_bfo_send_request_t* sendreq,
|
||||
des->des_cbfunc = mca_pml_bfo_match_completion_free;
|
||||
des->des_cbdata = sendreq->req_endpoint;
|
||||
}
|
||||
#endif
|
||||
#endif /* PML_BFO */
|
||||
/* signal request completion */
|
||||
send_request_pml_complete(sendreq);
|
||||
|
||||
@ -772,7 +772,7 @@ int mca_pml_bfo_send_request_start_rdma( mca_pml_bfo_send_request_t* sendreq,
|
||||
hdr->hdr_rndv.hdr_src_req.pval = sendreq;
|
||||
#if PML_BFO
|
||||
MCA_PML_BFO_CHECK_FOR_RNDV_RESTART(hdr, sendreq, "RGET");
|
||||
#endif
|
||||
#endif /* PML_BFO */
|
||||
hdr->hdr_rget.hdr_des.pval = src;
|
||||
hdr->hdr_rget.hdr_seg_cnt = src->des_src_cnt;
|
||||
|
||||
@ -824,7 +824,7 @@ int mca_pml_bfo_send_request_start_rdma( mca_pml_bfo_send_request_t* sendreq,
|
||||
hdr->hdr_rndv.hdr_src_req.pval = sendreq;
|
||||
#if PML_BFO
|
||||
MCA_PML_BFO_CHECK_FOR_RNDV_RESTART(hdr, sendreq, "RNDV");
|
||||
#endif
|
||||
#endif /* PML_BFO */
|
||||
|
||||
bfo_hdr_hton(hdr, MCA_PML_BFO_HDR_TYPE_RNDV,
|
||||
sendreq->req_send.req_base.req_proc);
|
||||
@ -854,7 +854,7 @@ int mca_pml_bfo_send_request_start_rdma( mca_pml_bfo_send_request_t* sendreq,
|
||||
sendreq->req_events++;
|
||||
}
|
||||
}
|
||||
#endif
|
||||
#endif /* PML_BFO */
|
||||
return OMPI_SUCCESS;
|
||||
}
|
||||
mca_bml_base_free(bml_btl, des);
|
||||
@ -924,7 +924,7 @@ int mca_pml_bfo_send_request_start_rndv( mca_pml_bfo_send_request_t* sendreq,
|
||||
hdr->hdr_rndv.hdr_src_req.pval = sendreq;
|
||||
#if PML_BFO
|
||||
MCA_PML_BFO_CHECK_FOR_RNDV_RESTART(hdr, sendreq, "RNDV");
|
||||
#endif
|
||||
#endif /* PML_BFO */
|
||||
|
||||
bfo_hdr_hton(hdr, MCA_PML_BFO_HDR_TYPE_RNDV,
|
||||
sendreq->req_send.req_base.req_proc);
|
||||
@ -946,7 +946,7 @@ int mca_pml_bfo_send_request_start_rndv( mca_pml_bfo_send_request_t* sendreq,
|
||||
if (des->des_flags & MCA_BTL_DES_SEND_ALWAYS_CALLBACK) {
|
||||
sendreq->req_events++;
|
||||
}
|
||||
#endif
|
||||
#endif /* PML_BFO */
|
||||
return OMPI_SUCCESS;
|
||||
}
|
||||
mca_bml_base_free(bml_btl, des );
|
||||
@ -1061,7 +1061,7 @@ mca_pml_bfo_send_request_schedule_once(mca_pml_bfo_send_request_t* sendreq)
|
||||
assert(range->range_send_length != 0);
|
||||
#if PML_BFO
|
||||
MCA_PML_BFO_CHECK_FOR_REMOVED_BTL(sendreq, range);
|
||||
#endif
|
||||
#endif /* PML_BFO */
|
||||
|
||||
if(prev_bytes_remaining == range->range_send_length)
|
||||
num_fail++;
|
||||
@ -1174,7 +1174,7 @@ cannot_pack:
|
||||
if (des->des_flags & MCA_BTL_DES_SEND_ALWAYS_CALLBACK) {
|
||||
sendreq->req_events++;
|
||||
}
|
||||
#endif
|
||||
#endif /* PML_BFO */
|
||||
} else {
|
||||
mca_bml_base_free(bml_btl,des);
|
||||
}
|
||||
@ -1203,17 +1203,17 @@ static void mca_pml_bfo_put_completion( mca_btl_base_module_t* btl,
|
||||
if( OPAL_UNLIKELY(OMPI_SUCCESS != status) ) {
|
||||
#if PML_BFO
|
||||
sendreq->req_error++;
|
||||
#else
|
||||
#else /* PML_BFO */
|
||||
/* TSW - FIX */
|
||||
ORTE_ERROR_LOG(status);
|
||||
orte_errmgr.abort(-1, NULL);
|
||||
#endif
|
||||
#endif /* PML_BFO */
|
||||
}
|
||||
#if PML_BFO
|
||||
sendreq->req_events--;
|
||||
MCA_PML_BFO_PUT_COMPLETION_SENDREQ_ERROR_CHECK(sendreq, status, btl);
|
||||
MCA_PML_BFO_CHECK_SENDREQ_EAGER_BML_BTL(bml_btl, btl, sendreq, "RDMA write");
|
||||
#endif
|
||||
#endif /* PML_BFO */
|
||||
|
||||
mca_pml_bfo_send_fin(sendreq->req_send.req_base.req_proc,
|
||||
bml_btl,
|
||||
@ -1222,9 +1222,9 @@ static void mca_pml_bfo_put_completion( mca_btl_base_module_t* btl,
|
||||
des->order, 0, (uint16_t)sendreq->req_send.req_base.req_sequence,
|
||||
sendreq->req_restartseq, sendreq->req_send.req_base.req_comm->c_contextid,
|
||||
sendreq->req_send.req_base.req_comm->c_my_rank);
|
||||
#else
|
||||
#else /* PML_BFO */
|
||||
des->order, 0);
|
||||
#endif
|
||||
#endif /* PML_BFO */
|
||||
|
||||
/* check for request completion */
|
||||
OPAL_THREAD_ADD_SIZE_T(&sendreq->req_bytes_delivered, frag->rdma_length);
|
||||
@ -1273,9 +1273,9 @@ int mca_pml_bfo_send_request_put_frag( mca_pml_bfo_rdma_frag_t* frag )
|
||||
MCA_BTL_NO_ORDER, 1, (uint16_t)sendreq->req_send.req_base.req_sequence,
|
||||
sendreq->req_restartseq, sendreq->req_send.req_base.req_comm->c_contextid,
|
||||
sendreq->req_send.req_base.req_comm->c_my_rank);
|
||||
#else
|
||||
#else /* PML_BFO */
|
||||
MCA_BTL_NO_ORDER, 1);
|
||||
#endif
|
||||
#endif /* PML_BFO */
|
||||
|
||||
/* send fragment by copy in/out */
|
||||
mca_pml_bfo_send_request_copy_in_out(sendreq,
|
||||
@ -1315,7 +1315,7 @@ int mca_pml_bfo_send_request_put_frag( mca_pml_bfo_rdma_frag_t* frag )
|
||||
if (des->des_flags & MCA_BTL_DES_SEND_ALWAYS_CALLBACK) {
|
||||
((mca_pml_bfo_send_request_t*)frag->rdma_req)->req_events++;
|
||||
}
|
||||
#endif
|
||||
#endif /* PML_BFO */
|
||||
return OMPI_SUCCESS;
|
||||
}
|
||||
|
||||
@ -1341,7 +1341,7 @@ void mca_pml_bfo_send_request_put( mca_pml_bfo_send_request_t* sendreq,
|
||||
#if PML_BFO
|
||||
MCA_PML_BFO_VERIFY_SENDREQ_REQ_STATE_VALUE(sendreq);
|
||||
sendreq->req_recv = hdr->hdr_dst_req; /* only needed once, but it is OK */
|
||||
#endif
|
||||
#endif /* PML_BFO */
|
||||
|
||||
MCA_PML_BFO_RDMA_FRAG_ALLOC(frag, rc);
|
||||
|
||||
@ -1372,7 +1372,7 @@ void mca_pml_bfo_send_request_put( mca_pml_bfo_send_request_t* sendreq,
|
||||
#if PML_BFO
|
||||
MCA_PML_BFO_CHECK_FOR_REMOVED_BML(sendreq, frag, btl);
|
||||
frag->rdma_btl = btl; /* in case frag ends up on pending */
|
||||
#endif
|
||||
#endif /* PML_BFO */
|
||||
frag->rdma_hdr.hdr_rdma = *hdr;
|
||||
frag->rdma_req = sendreq;
|
||||
frag->rdma_ep = bml_endpoint;
|
||||
|
@ -47,7 +47,7 @@ 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 */
|
||||
#endif
|
||||
#endif /* PML_BFO */
|
||||
int32_t req_state;
|
||||
int32_t req_lock;
|
||||
bool req_throttle_sends;
|
||||
@ -251,7 +251,7 @@ send_request_pml_complete(mca_pml_bfo_send_request_t *sendreq)
|
||||
sendreq->req_send.req_base.req_pml_complete = true;
|
||||
#if PML_BFO
|
||||
sendreq->req_send.req_base.req_sequence -= 100;
|
||||
#endif
|
||||
#endif /* PML_BFO */
|
||||
|
||||
if(sendreq->req_send.req_base.req_free_called) {
|
||||
MCA_PML_BFO_SEND_REQUEST_RETURN(sendreq);
|
||||
@ -435,7 +435,7 @@ 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 */
|
||||
#endif
|
||||
#endif /* PML_BFO */
|
||||
|
||||
MCA_PML_BASE_SEND_START( &sendreq->req_send.req_base );
|
||||
|
||||
|
Загрузка…
x
Ссылка в новой задаче
Block a user