* Fix for bug #44 for the trunk -- remove a bunch of warnings from the DR
PML when compiling on Solaris. Patch won't apply cleanly to the v1.1 branch, so a diff for that is coming up soon. This commit was SVN r10173.
Этот коммит содержится в:
родитель
83ff3201b5
Коммит
c70fff6ed0
@ -40,7 +40,7 @@ struct mca_pml_dr_endpoint_t {
|
||||
ompi_seq_tracker_t seq_sends; /**< Tracks the send vfrags that have been acked */
|
||||
ompi_seq_tracker_t seq_recvs; /**< Tracks the receive vfrags that have been acked */
|
||||
ompi_seq_tracker_t seq_recvs_matched; /**< Tracks the received vfrags that have been matched */
|
||||
uint32_t vfrag_seq; /**< current virtual fragment identifier sequence */
|
||||
int32_t vfrag_seq; /**< current virtual fragment identifier sequence */
|
||||
};
|
||||
typedef struct mca_pml_dr_endpoint_t mca_pml_dr_endpoint_t;
|
||||
OBJ_CLASS_DECLARATION(mca_pml_dr_endpoint_t);
|
||||
|
@ -363,7 +363,7 @@ do { \
|
||||
int rc; \
|
||||
\
|
||||
vfrag = NULL; \
|
||||
OPAL_THREAD_LOCK(&(recvreq)->req_mutex); \
|
||||
OPAL_THREAD_LOCK(recvreq->req_mutex); \
|
||||
for(item = opal_list_get_first(&(recvreq)->req_vfrags); \
|
||||
item != opal_list_get_end(&(recvreq)->req_vfrags); \
|
||||
item = opal_list_get_next(item)) { \
|
||||
@ -388,7 +388,7 @@ do { \
|
||||
(recvreq)->req_vfrag = vfrag; \
|
||||
} \
|
||||
} \
|
||||
OPAL_THREAD_UNLOCK(&(recvreq)->req_mutex); \
|
||||
OPAL_THREAD_UNLOCK(recvreq->req_mutex); \
|
||||
} \
|
||||
} while(0)
|
||||
|
||||
|
@ -125,7 +125,7 @@ static void mca_pml_dr_error_completion(
|
||||
}
|
||||
|
||||
/* update pending counts */
|
||||
OPAL_THREAD_ADD32(&sendreq->req_pipeline_depth,-1);
|
||||
OPAL_THREAD_ADD_SIZE_T(&sendreq->req_pipeline_depth,-1);
|
||||
OPAL_THREAD_ADD64(&vfrag->vf_pending,-1);
|
||||
|
||||
/* reset vfrag state - select new BTL */
|
||||
@ -163,7 +163,7 @@ static void mca_pml_dr_match_completion(
|
||||
}
|
||||
|
||||
/* wait for local completion */
|
||||
OPAL_THREAD_ADD32(&sendreq->req_pipeline_depth,-1);
|
||||
OPAL_THREAD_ADD_SIZE_T(&sendreq->req_pipeline_depth,-1);
|
||||
if(OPAL_THREAD_ADD64(&vfrag->vf_pending,-1) > 0)
|
||||
return;
|
||||
|
||||
@ -227,7 +227,7 @@ static void mca_pml_dr_rndv_completion(
|
||||
}
|
||||
|
||||
/* local completion */
|
||||
OPAL_THREAD_ADD32(&sendreq->req_pipeline_depth,-1);
|
||||
OPAL_THREAD_ADD_SIZE_T(&sendreq->req_pipeline_depth,-1);
|
||||
if(OPAL_THREAD_ADD64(&vfrag->vf_pending,-1) > 0)
|
||||
return;
|
||||
|
||||
|
@ -363,7 +363,7 @@ do { \
|
||||
OPAL_OUTPUT((0, "%s:%d:%s: retransmitting eager\n", __FILE__, __LINE__, __func__)); \
|
||||
assert(sendreq->req_descriptor->des_src != NULL); \
|
||||
\
|
||||
OPAL_THREAD_ADD32(&sendreq->req_pipeline_depth,1); \
|
||||
OPAL_THREAD_ADD_SIZE_T(&sendreq->req_pipeline_depth,1); \
|
||||
OPAL_THREAD_ADD64(&(vfrag)->vf_pending,1); \
|
||||
(vfrag)->vf_state &= ~MCA_PML_DR_VFRAG_NACKED; \
|
||||
\
|
||||
@ -392,7 +392,7 @@ do { \
|
||||
mca_pml_dr_hdr_t *hdr; \
|
||||
\
|
||||
opal_output(0, "%s:%d:%s: (re)transmitting rndv probe\n", __FILE__, __LINE__, __func__); \
|
||||
OPAL_THREAD_ADD32(&sendreq->req_pipeline_depth,1); \
|
||||
OPAL_THREAD_ADD_SIZE_T(&sendreq->req_pipeline_depth,1); \
|
||||
OPAL_THREAD_ADD64(&vfrag->vf_pending,1); \
|
||||
(vfrag)->vf_state &= ~MCA_PML_DR_VFRAG_NACKED; \
|
||||
\
|
||||
|
@ -73,7 +73,7 @@ static void mca_pml_dr_vfrag_wdog_timeout(int fd, short event, void* data)
|
||||
OPAL_OUTPUT((0, "%s:%d:%s: wdog timeout: 0x%08x", __FILE__, __LINE__, __func__, vfrag));
|
||||
|
||||
/* update pending counts */
|
||||
OPAL_THREAD_ADD32(&sendreq->req_pipeline_depth,-vfrag->vf_pending);
|
||||
OPAL_THREAD_ADD_SIZE_T(&sendreq->req_pipeline_depth,-vfrag->vf_pending);
|
||||
OPAL_THREAD_ADD64(&vfrag->vf_pending,-vfrag->vf_pending);
|
||||
|
||||
/* check for hung btl */
|
||||
|
@ -45,7 +45,7 @@ struct mca_pml_dr_vfrag_t {
|
||||
size_t vf_max_send_size;
|
||||
uint64_t vf_ack;
|
||||
uint64_t vf_mask;
|
||||
uint64_t vf_pending;
|
||||
int64_t vf_pending;
|
||||
uint32_t vf_state;
|
||||
struct mca_bml_base_btl_t* bml_btl;
|
||||
|
||||
|
Загрузка…
x
Ссылка в новой задаче
Block a user