add length to frag_ack
This commit was SVN r9403.
Этот коммит содержится в:
родитель
0fa49f1297
Коммит
19732d4c7c
@ -128,7 +128,7 @@ void mca_pml_dr_recv_frag_callback(
|
|||||||
mca_pml_dr_recv_frag_ack((mca_bml_base_endpoint_t*)proc->ompi_proc->proc_pml,
|
mca_pml_dr_recv_frag_ack((mca_bml_base_endpoint_t*)proc->ompi_proc->proc_pml,
|
||||||
&hdr->hdr_common,
|
&hdr->hdr_common,
|
||||||
hdr->hdr_match.hdr_src_ptr.pval,
|
hdr->hdr_match.hdr_src_ptr.pval,
|
||||||
1);
|
1, 0);
|
||||||
} else {
|
} else {
|
||||||
OPAL_THREAD_UNLOCK(&comm->matching_lock);
|
OPAL_THREAD_UNLOCK(&comm->matching_lock);
|
||||||
mca_pml_dr_recv_frag_match(comm,proc,btl,&hdr->hdr_match,segments,des->des_dst_cnt);
|
mca_pml_dr_recv_frag_match(comm,proc,btl,&hdr->hdr_match,segments,des->des_dst_cnt);
|
||||||
@ -172,7 +172,7 @@ void mca_pml_dr_recv_frag_callback(
|
|||||||
mca_pml_dr_recv_frag_ack((mca_bml_base_endpoint_t*) proc->ompi_proc->proc_pml,
|
mca_pml_dr_recv_frag_ack((mca_bml_base_endpoint_t*) proc->ompi_proc->proc_pml,
|
||||||
&hdr->hdr_common,
|
&hdr->hdr_common,
|
||||||
hdr->hdr_match.hdr_src_ptr.pval,
|
hdr->hdr_match.hdr_src_ptr.pval,
|
||||||
~(uint64_t) 0);
|
~(uint64_t) 0, hdr->hdr_rndv.hdr_msg_length);
|
||||||
} else {
|
} else {
|
||||||
OPAL_OUTPUT((0, "%s:%d: droping duplicate unmatched rendezvous\n", __FILE__, __LINE__));
|
OPAL_OUTPUT((0, "%s:%d: droping duplicate unmatched rendezvous\n", __FILE__, __LINE__));
|
||||||
}
|
}
|
||||||
@ -212,7 +212,7 @@ void mca_pml_dr_recv_frag_callback(
|
|||||||
mca_pml_dr_recv_frag_ack((mca_bml_base_endpoint_t*)proc->ompi_proc->proc_pml,
|
mca_pml_dr_recv_frag_ack((mca_bml_base_endpoint_t*)proc->ompi_proc->proc_pml,
|
||||||
&hdr->hdr_common,
|
&hdr->hdr_common,
|
||||||
hdr->hdr_frag.hdr_src_ptr.pval,
|
hdr->hdr_frag.hdr_src_ptr.pval,
|
||||||
~(uint64_t) 0);
|
~(uint64_t) 0, 0);
|
||||||
} else {
|
} else {
|
||||||
OPAL_THREAD_UNLOCK(&comm->matching_lock);
|
OPAL_THREAD_UNLOCK(&comm->matching_lock);
|
||||||
recvreq = hdr->hdr_frag.hdr_dst_ptr.pval;
|
recvreq = hdr->hdr_frag.hdr_dst_ptr.pval;
|
||||||
@ -623,7 +623,7 @@ rematch:
|
|||||||
MCA_PML_DR_RECV_FRAG_INIT(frag,ompi_proc,hdr,segments,num_segments,btl,csum);
|
MCA_PML_DR_RECV_FRAG_INIT(frag,ompi_proc,hdr,segments,num_segments,btl,csum);
|
||||||
if(csum != hdr->hdr_csum) {
|
if(csum != hdr->hdr_csum) {
|
||||||
mca_pml_dr_recv_frag_ack((mca_bml_base_endpoint_t*)ompi_proc->proc_pml,
|
mca_pml_dr_recv_frag_ack((mca_bml_base_endpoint_t*)ompi_proc->proc_pml,
|
||||||
&hdr->hdr_common, hdr->hdr_src_ptr.pval, 0);
|
&hdr->hdr_common, hdr->hdr_src_ptr.pval, 0, 0);
|
||||||
OPAL_OUTPUT((0, "%s:%d: received corrupted data 0x%08x != 0x%08x\n",
|
OPAL_OUTPUT((0, "%s:%d: received corrupted data 0x%08x != 0x%08x\n",
|
||||||
__FILE__, __LINE__, csum, hdr->hdr_csum));
|
__FILE__, __LINE__, csum, hdr->hdr_csum));
|
||||||
MCA_PML_DR_RECV_FRAG_RETURN(frag);
|
MCA_PML_DR_RECV_FRAG_RETURN(frag);
|
||||||
@ -658,7 +658,7 @@ rematch:
|
|||||||
MCA_PML_DR_RECV_FRAG_INIT(frag,ompi_proc,hdr,segments,num_segments,btl,csum);
|
MCA_PML_DR_RECV_FRAG_INIT(frag,ompi_proc,hdr,segments,num_segments,btl,csum);
|
||||||
if(csum != hdr->hdr_csum) {
|
if(csum != hdr->hdr_csum) {
|
||||||
mca_pml_dr_recv_frag_ack((mca_bml_base_endpoint_t*)ompi_proc->proc_pml,
|
mca_pml_dr_recv_frag_ack((mca_bml_base_endpoint_t*)ompi_proc->proc_pml,
|
||||||
&hdr->hdr_common, hdr->hdr_src_ptr.pval, 0);
|
&hdr->hdr_common, hdr->hdr_src_ptr.pval, 0, 0);
|
||||||
OPAL_OUTPUT((0, "%s:%d: received corrupted data 0x%08x != 0x%08x\n",
|
OPAL_OUTPUT((0, "%s:%d: received corrupted data 0x%08x != 0x%08x\n",
|
||||||
__FILE__, __LINE__, csum, hdr->hdr_csum));
|
__FILE__, __LINE__, csum, hdr->hdr_csum));
|
||||||
MCA_PML_DR_RECV_FRAG_RETURN(frag);
|
MCA_PML_DR_RECV_FRAG_RETURN(frag);
|
||||||
@ -679,7 +679,7 @@ rematch:
|
|||||||
/* if buffered a short message - go ahead and ack */
|
/* if buffered a short message - go ahead and ack */
|
||||||
else if (hdr->hdr_common.hdr_type == MCA_PML_DR_HDR_TYPE_MATCH) {
|
else if (hdr->hdr_common.hdr_type == MCA_PML_DR_HDR_TYPE_MATCH) {
|
||||||
mca_pml_dr_recv_frag_ack((mca_bml_base_endpoint_t*)ompi_proc->proc_pml,
|
mca_pml_dr_recv_frag_ack((mca_bml_base_endpoint_t*)ompi_proc->proc_pml,
|
||||||
&hdr->hdr_common, hdr->hdr_src_ptr.pval, 1);
|
&hdr->hdr_common, hdr->hdr_src_ptr.pval, 1, 0);
|
||||||
}
|
}
|
||||||
|
|
||||||
if(additional_match) {
|
if(additional_match) {
|
||||||
@ -699,7 +699,8 @@ void mca_pml_dr_recv_frag_ack(
|
|||||||
mca_bml_base_endpoint_t* endpoint,
|
mca_bml_base_endpoint_t* endpoint,
|
||||||
mca_pml_dr_common_hdr_t* hdr,
|
mca_pml_dr_common_hdr_t* hdr,
|
||||||
void *src_ptr,
|
void *src_ptr,
|
||||||
uint64_t mask)
|
uint64_t mask,
|
||||||
|
uint16_t len)
|
||||||
{
|
{
|
||||||
ompi_communicator_t* comm = ompi_comm_lookup(hdr->hdr_ctx);
|
ompi_communicator_t* comm = ompi_comm_lookup(hdr->hdr_ctx);
|
||||||
mca_btl_base_descriptor_t* des;
|
mca_btl_base_descriptor_t* des;
|
||||||
@ -723,7 +724,7 @@ void mca_pml_dr_recv_frag_ack(
|
|||||||
ack->hdr_common.hdr_dst = hdr->hdr_src;
|
ack->hdr_common.hdr_dst = hdr->hdr_src;
|
||||||
ack->hdr_common.hdr_vid = hdr->hdr_vid;
|
ack->hdr_common.hdr_vid = hdr->hdr_vid;
|
||||||
ack->hdr_common.hdr_ctx = hdr->hdr_ctx;
|
ack->hdr_common.hdr_ctx = hdr->hdr_ctx;
|
||||||
ack->hdr_vlen = 0;
|
ack->hdr_vlen = len;
|
||||||
ack->hdr_vmask = mask;
|
ack->hdr_vmask = mask;
|
||||||
ack->hdr_src_ptr.pval = src_ptr;
|
ack->hdr_src_ptr.pval = src_ptr;
|
||||||
assert(ack->hdr_src_ptr.pval);
|
assert(ack->hdr_src_ptr.pval);
|
||||||
|
@ -135,7 +135,8 @@ void mca_pml_dr_recv_frag_ack(
|
|||||||
mca_bml_base_endpoint_t* endpoint,
|
mca_bml_base_endpoint_t* endpoint,
|
||||||
mca_pml_dr_common_hdr_t* hdr,
|
mca_pml_dr_common_hdr_t* hdr,
|
||||||
void* src_ptr,
|
void* src_ptr,
|
||||||
uint64_t mask);
|
uint64_t mask,
|
||||||
|
uint16_t len);
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* Callback from BTL on receipt of a recv_frag.
|
* Callback from BTL on receipt of a recv_frag.
|
||||||
|
@ -44,7 +44,7 @@ if(csum != hdr->hdr_match.hdr_csum) { \
|
|||||||
mca_pml_dr_recv_frag_ack(recvreq->req_endpoint, \
|
mca_pml_dr_recv_frag_ack(recvreq->req_endpoint, \
|
||||||
&hdr->hdr_common, \
|
&hdr->hdr_common, \
|
||||||
hdr->hdr_match.hdr_src_ptr.pval, \
|
hdr->hdr_match.hdr_src_ptr.pval, \
|
||||||
0); \
|
0, 0); \
|
||||||
OPAL_OUTPUT((0, "%s:%d: [rank %d -> rank %d] " \
|
OPAL_OUTPUT((0, "%s:%d: [rank %d -> rank %d] " \
|
||||||
"data checksum failed 0x%08x != 0x%08x\n", \
|
"data checksum failed 0x%08x != 0x%08x\n", \
|
||||||
__FILE__, __LINE__, \
|
__FILE__, __LINE__, \
|
||||||
|
Загрузка…
x
Ссылка в новой задаче
Block a user