1
1
This commit was SVN r3420.
Этот коммит содержится в:
Tim Woodall 2004-10-28 23:17:13 +00:00
родитель 2f0d1e8009
Коммит 4f099e5a83
2 изменённых файлов: 8 добавлений и 5 удалений

Просмотреть файл

@ -276,6 +276,7 @@ int mca_ptl_mx_send_continue(
mca_ptl_mx_module_t* mx_ptl = (mca_ptl_mx_module_t*)ptl;
mca_ptl_mx_send_frag_t* sendfrag;
mca_ptl_base_header_t* hdr;
ompi_ptr_t match;
mx_return_t mx_return;
uint64_t match_value;
int rc;
@ -365,13 +366,14 @@ int mca_ptl_mx_send_continue(
sendreq->req_offset += size;
/* start the fragment */
match_value = ((uint64_t)sendreq << 32) | (uint64_t)offset;
match.sval.uval = (uint32_t)sendreq;
match.sval.lval = offset;
mx_return = mx_isend(
mx_ptl->mx_endpoint,
sendfrag->frag_segments,
sendfrag->frag_segment_count,
sendfrag->frag_send.frag_base.frag_peer->peer_addr,
match_value,
match.lval,
sendfrag,
&sendfrag->frag_request);
if(mx_return != MX_SUCCESS) {

Просмотреть файл

@ -143,6 +143,7 @@ static void mca_ptl_mx_match(void* context, uint64_t match_value, int size)
mca_ptl_mx_module_t* ptl = (mca_ptl_mx_module_t*)context;
mca_ptl_mx_recv_frag_t *frag;
mx_return_t mx_return;
ompi_ptr_t match;
int rc;
MCA_PTL_MX_RECV_FRAG_ALLOC(frag, rc);
@ -152,6 +153,7 @@ static void mca_ptl_mx_match(void* context, uint64_t match_value, int size)
}
frag->frag_recv.frag_base.frag_owner = &ptl->super;
frag->frag_recv.frag_base.frag_peer = NULL;
match.lval = match_value;
/* first fragment - post a buffer */
if(match_value == 0) {
@ -163,9 +165,8 @@ static void mca_ptl_mx_match(void* context, uint64_t match_value, int size)
/* fragment has already been matched */
} else {
mca_pml_base_recv_request_t* request = (mca_pml_base_recv_request_t*)
(uint32_t)(match_value >> 32);
uint32_t offset = (uint32_t)match_value;
mca_pml_base_recv_request_t* request = (mca_pml_base_recv_request_t*)match.sval.uval;
uint32_t offset = match.sval.lval;
ompi_proc_t *proc = ompi_comm_peer_lookup(request->req_base.req_comm,
request->req_base.req_ompi.req_status.MPI_SOURCE);
ompi_convertor_t* convertor = &frag->frag_recv.frag_base.frag_convertor;