1
1
This commit was SVN r3705.
Этот коммит содержится в:
Tim Woodall 2004-12-06 15:58:57 +00:00
родитель 611c594b16
Коммит 5e043924ff
2 изменённых файлов: 8 добавлений и 9 удалений

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

@ -688,7 +688,6 @@ int mca_ptl_sm_send(
struct iovec address; struct iovec address;
convertor = &sendreq->req_convertor; convertor = &sendreq->req_convertor;
ompi_convertor_copy(&sendreq->req_convertor, convertor);
ompi_convertor_init_for_send( convertor, 0, ompi_convertor_init_for_send( convertor, 0,
sendreq->req_datatype, sendreq->req_datatype,
sendreq->req_count, sendreq->req_count,
@ -701,7 +700,6 @@ int mca_ptl_sm_send(
address.iov_base=sm_data_ptr; address.iov_base=sm_data_ptr;
address.iov_len= (size < send_frag->buff_length) ? size : send_frag->buff_length; address.iov_len= (size < send_frag->buff_length) ? size : send_frag->buff_length;
convertor = &sendreq->req_convertor;
iov_count=1; iov_count=1;
max_data=address.iov_len; max_data=address.iov_len;
return_status=ompi_convertor_pack(convertor,&address,&iov_count, return_status=ompi_convertor_pack(convertor,&address,&iov_count,
@ -715,7 +713,6 @@ int mca_ptl_sm_send(
/* fill in the fragment descriptor */ /* fill in the fragment descriptor */
/* get pointer to the fragment header */ /* get pointer to the fragment header */
hdr = &(send_frag->super.frag_base.frag_header); hdr = &(send_frag->super.frag_base.frag_header);
hdr->hdr_common.hdr_type = MCA_PTL_HDR_TYPE_MATCH; hdr->hdr_common.hdr_type = MCA_PTL_HDR_TYPE_MATCH;
hdr->hdr_common.hdr_flags = flags; hdr->hdr_common.hdr_flags = flags;
hdr->hdr_match.hdr_contextid = sendreq->req_base.req_comm->c_contextid; hdr->hdr_match.hdr_contextid = sendreq->req_base.req_comm->c_contextid;
@ -830,20 +827,20 @@ int mca_ptl_sm_send_continue(
/* pack data in payload buffer */ /* pack data in payload buffer */
convertor = &sendreq->req_convertor; convertor = &sendreq->req_convertor;
#if 0
ompi_convertor_copy(&sendreq->req_convertor, convertor); ompi_convertor_copy(&sendreq->req_convertor, convertor);
ompi_convertor_init_for_send( convertor, 0, ompi_convertor_init_for_send( convertor, 0,
sendreq->req_datatype, sendreq->req_datatype,
sendreq->req_count, sendreq->req_count,
sendreq->req_addr, sendreq->req_addr,
offset, NULL); offset, NULL);
#endif
sm_data_ptr=send_frag->buff; sm_data_ptr=send_frag->buff;
/* set up the shared memory iovec */ /* set up the shared memory iovec */
address.iov_base=sm_data_ptr; address.iov_base=sm_data_ptr;
address.iov_len=(size < send_frag->buff_length) ? size : send_frag->buff_length; address.iov_len=(size < send_frag->buff_length) ? size : send_frag->buff_length;
convertor = &sendreq->req_convertor;
iov_count=1; iov_count=1;
max_data=address.iov_len; max_data=address.iov_len;
return_status=ompi_convertor_pack(convertor,&address,&iov_count, return_status=ompi_convertor_pack(convertor,&address,&iov_count,

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

@ -88,8 +88,9 @@ void mca_ptl_sm_matched(
/* /*
* Initialize convertor and use it to unpack data * Initialize convertor and use it to unpack data
*/ */
OBJ_CONSTRUCT(&frag_convertor, ompi_convertor_t);
proc = ompi_comm_peer_lookup(recv_desc->req_base.req_comm, proc = ompi_comm_peer_lookup(recv_desc->req_base.req_comm,
recv_desc->req_base.req_peer); frag->frag_base.frag_header.hdr_match.hdr_src);
/* write over converter set on the send side */ /* write over converter set on the send side */
ompi_convertor_copy(proc->proc_convertor, ompi_convertor_copy(proc->proc_convertor,
&frag_convertor); &frag_convertor);
@ -113,8 +114,8 @@ void mca_ptl_sm_matched(
iov.iov_len = sm_frag_desc->super.frag_base.frag_size; iov.iov_len = sm_frag_desc->super.frag_base.frag_size;
iov_count = 1; iov_count = 1;
max_data = iov.iov_len; max_data = iov.iov_len;
ompi_convertor_unpack( &frag_convertor, ompi_convertor_unpack( &frag_convertor, &iov, &iov_count, &max_data, &free_after );
&iov, &iov_count, &max_data, &free_after ); OBJ_DESTRUCT(&frag_convertor);
} }
/* update receive request information */ /* update receive request information */
@ -146,7 +147,8 @@ void mca_ptl_sm_matched(
} }
/* change address to be relative to offset from base of shared /* change address to be relative to offset from base of shared
* memory segment */ * memory segment
*/
/* set the fragment type to be an ack */ /* set the fragment type to be an ack */
sm_frag_desc->super.frag_base.frag_header.hdr_common.hdr_type= sm_frag_desc->super.frag_base.frag_header.hdr_common.hdr_type=