1
1
This commit was SVN r3812.
Этот коммит содержится в:
Mitch Sukalski 2004-12-14 17:56:51 +00:00
родитель 60e43d6738
Коммит 19dbfd376b
3 изменённых файлов: 18 добавлений и 21 удалений

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

@ -322,14 +322,14 @@ static void mca_ptl_ib_start_ack(mca_ptl_base_module_t *module,
/* Amount of data we have already received */
recv_len =
recv_frag->super.frag_base.frag_header.hdr_frag.hdr_frag_length;
recv_frag->super.frag_base.frag_header.hdr_rndv.hdr_frag_length;
hdr->hdr_common.hdr_type = MCA_PTL_HDR_TYPE_ACK;
hdr->hdr_common.hdr_flags = 0;
/* Remote side send descriptor */
hdr->hdr_ack.hdr_src_ptr =
recv_frag->super.frag_base.frag_header.hdr_frag.hdr_src_ptr;
recv_frag->super.frag_base.frag_header.hdr_rndv.hdr_src_ptr;
/* Matched request from recv side */
hdr->hdr_ack.hdr_dst_match.lval = 0;

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

@ -71,6 +71,7 @@ static void mca_ptl_ib_data_frag(mca_ptl_base_module_t *module,
int rc;
ompi_list_item_t *item;
mca_ptl_ib_recv_frag_t *recv_frag;
mca_ptl_base_rendezvous_header_t *rendezvous_hdr = (mca_ptl_base_rendezvous_header_t *)header;
OMPI_FREE_LIST_GET(&mca_ptl_ib_component.ib_recv_frags,
item, rc);
@ -97,7 +98,7 @@ static void mca_ptl_ib_data_frag(mca_ptl_base_module_t *module,
* default */
recv_frag->super.frag_base.frag_addr =
(char *) header + sizeof (mca_ptl_base_header_t);
recv_frag->super.frag_base.frag_size = header->hdr_frag.hdr_frag_length;
recv_frag->super.frag_base.frag_size = header->hdr_rndv.hdr_frag_length;
/* match with preposted
* requests */
@ -112,7 +113,7 @@ static void mca_ptl_ib_data_frag(mca_ptl_base_module_t *module,
/* ompi_output(0, "Can't match buffer. Mama is unhappy\n"); */
memcpy (recv_frag->unex_buf,
(char *) header + sizeof (mca_ptl_base_header_t),
header->hdr_frag.hdr_frag_length);
header->hdr_rndv.hdr_frag_length);
recv_frag->super.frag_is_buffered = true;
recv_frag->super.frag_base.frag_addr = recv_frag->unex_buf;

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

@ -56,24 +56,22 @@ int mca_ptl_ib_send_frag_init(mca_ptl_ib_send_frag_t* sendfrag,
{
size_t size_in = *size;
size_t size_out;
mca_ptl_base_header_t *hdr;
mca_ptl_base_rendezvous_header_t *hdr;
struct iovec iov;
int header_length;
/* Start of the IB buffer */
hdr = (mca_ptl_base_header_t *) &sendfrag->ib_buf.buf[0];
hdr = (mca_ptl_base_rendezvous_header_t *) &sendfrag->ib_buf.buf[0];
/* Fill up the header for PML to make a match */
if(offset == 0) {
hdr->hdr_common.hdr_type = MCA_PTL_HDR_TYPE_MATCH;
hdr->hdr_common.hdr_flags = flags;
hdr->hdr_frag.hdr_frag_offset = offset;
hdr->hdr_frag.hdr_src_ptr.lval = 0; /* for VALGRIND/PURIFY - REPLACE WITH MACRO */
hdr->hdr_match.hdr_common.hdr_type = MCA_PTL_HDR_TYPE_MATCH;
hdr->hdr_match.hdr_common.hdr_flags = flags;
hdr->hdr_src_ptr.lval = 0; /* for VALGRIND/PURIFY - REPLACE WITH MACRO */
/* Ptr to send frag, so incoming ACK can locate the frag */
hdr->hdr_frag.hdr_src_ptr.pval = sendfrag;
hdr->hdr_src_ptr.pval = sendfrag;
hdr->hdr_frag.hdr_dst_ptr.lval = 0;
hdr->hdr_match.hdr_contextid = sendreq->req_base.req_comm->c_contextid;
hdr->hdr_match.hdr_src = sendreq->req_base.req_comm->c_my_rank;
hdr->hdr_match.hdr_dst = sendreq->req_base.req_peer;
@ -81,18 +79,16 @@ int mca_ptl_ib_send_frag_init(mca_ptl_ib_send_frag_t* sendfrag,
hdr->hdr_match.hdr_msg_length = sendreq->req_bytes_packed;
hdr->hdr_match.hdr_msg_seq = sendreq->req_base.req_sequence;
header_length = sizeof(mca_ptl_base_match_header_t);
header_length = sizeof(mca_ptl_base_rendezvous_header_t);
} else {
hdr->hdr_common.hdr_type = MCA_PTL_HDR_TYPE_FRAG;
hdr->hdr_common.hdr_flags = flags;
hdr->hdr_frag.hdr_frag_offset = offset;
hdr->hdr_frag.hdr_src_ptr.lval = 0; /* for VALGRIND/PURIFY - REPLACE WITH MACRO */
hdr->hdr_frag.hdr_src_ptr.pval = sendfrag;
hdr->hdr_frag.hdr_dst_ptr = sendreq->req_peer_match;
hdr->hdr_match.hdr_common.hdr_type = MCA_PTL_HDR_TYPE_FRAG;
hdr->hdr_match.hdr_common.hdr_flags = flags;
hdr->hdr_src_ptr.lval = 0; /* for VALGRIND/PURIFY - REPLACE WITH MACRO */
hdr->hdr_src_ptr.pval = sendfrag;
header_length = sizeof(mca_ptl_base_frag_header_t);
header_length = sizeof(mca_ptl_base_rendezvous_header_t);
}
/* initialize convertor */
@ -148,7 +144,7 @@ int mca_ptl_ib_send_frag_init(mca_ptl_ib_send_frag_t* sendfrag,
(header_length + size_in));
}
hdr->hdr_frag.hdr_frag_length = size_out;
hdr->hdr_frag_length = size_out;
/* fragment state */
sendfrag->frag_send.frag_base.frag_owner =