1
1
This commit was SVN r26638.
Этот коммит содержится в:
Nathan Hjelm 2012-06-22 18:21:57 +00:00
родитель e6f3586415
Коммит 6a0ccf41e6

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

@ -116,16 +116,16 @@ int mca_btl_udapl_endpoint_write_eager(mca_btl_base_endpoint_t* endpoint,
MCA_BTL_UDAPL_RDMA_NEXT_INDEX(endpoint->endpoint_eager_rdma_remote.head); MCA_BTL_UDAPL_RDMA_NEXT_INDEX(endpoint->endpoint_eager_rdma_remote.head);
MCA_BTL_UDAPL_FRAG_CALC_ALIGNMENT_PAD(pad, MCA_BTL_UDAPL_FRAG_CALC_ALIGNMENT_PAD(pad,
(frag->segment.seg_len + sizeof(mca_btl_udapl_footer_t))); (frag->segment.base.seg_len + sizeof(mca_btl_udapl_footer_t)));
/* set the rdma footer information */ /* set the rdma footer information */
frag->rdma_ftr = (mca_btl_udapl_rdma_footer_t *) frag->rdma_ftr = (mca_btl_udapl_rdma_footer_t *)
((char *)frag->segment.seg_addr.pval + ((char *)frag->segment.base.seg_addr.pval +
frag->segment.seg_len + frag->segment.base.seg_len +
sizeof(mca_btl_udapl_footer_t) + sizeof(mca_btl_udapl_footer_t) +
pad); pad);
frag->rdma_ftr->active = 1; frag->rdma_ftr->active = 1;
frag->rdma_ftr->size = frag->segment.seg_len; /* this is size PML wants; frag->rdma_ftr->size = frag->segment.base.seg_len; /* this is size PML wants;
* will have to calc * will have to calc
* alignment * alignment
* at the other end * at the other end
@ -133,7 +133,7 @@ int mca_btl_udapl_endpoint_write_eager(mca_btl_base_endpoint_t* endpoint,
/* prep the fragment to be written out */ /* prep the fragment to be written out */
frag->type = MCA_BTL_UDAPL_RDMA_WRITE; frag->type = MCA_BTL_UDAPL_RDMA_WRITE;
frag->triplet.segment_length = frag->segment.seg_len + frag->triplet.segment_length = frag->segment.base.seg_len +
sizeof(mca_btl_udapl_footer_t) + sizeof(mca_btl_udapl_footer_t) +
pad + pad +
sizeof(mca_btl_udapl_rdma_footer_t); sizeof(mca_btl_udapl_rdma_footer_t);
@ -187,7 +187,7 @@ int mca_btl_udapl_endpoint_send(mca_btl_base_endpoint_t* endpoint,
/* Fix up the segment length before we do anything with the frag */ /* Fix up the segment length before we do anything with the frag */
frag->triplet.segment_length = frag->triplet.segment_length =
frag->segment.seg_len + sizeof(mca_btl_udapl_footer_t); frag->segment.base.seg_len + sizeof(mca_btl_udapl_footer_t);
OPAL_THREAD_LOCK(&endpoint->endpoint_lock); OPAL_THREAD_LOCK(&endpoint->endpoint_lock);
switch(endpoint->endpoint_state) { switch(endpoint->endpoint_state) {
@ -1182,7 +1182,7 @@ static int mca_btl_udapl_endpoint_post_recv(mca_btl_udapl_endpoint_t* endpoint,
/* Set up the LMR triplet from the frag segment */ /* Set up the LMR triplet from the frag segment */
/* Note that this triplet defines a sub-region of a registered LMR */ /* Note that this triplet defines a sub-region of a registered LMR */
frag->triplet.virtual_address = frag->triplet.virtual_address =
(DAT_VADDR)(uintptr_t)frag->segment.seg_addr.pval; (DAT_VADDR)(uintptr_t)frag->segment.base.seg_addr.pval;
frag->triplet.segment_length = frag->size; frag->triplet.segment_length = frag->size;
frag->btl = endpoint->endpoint_btl; frag->btl = endpoint->endpoint_btl;
@ -1348,13 +1348,13 @@ static mca_btl_base_descriptor_t* mca_btl_udapl_endpoint_initialize_control_mess
MCA_BTL_UDAPL_FRAG_ALLOC_CONTROL(udapl_btl, frag, rc); MCA_BTL_UDAPL_FRAG_ALLOC_CONTROL(udapl_btl, frag, rc);
/* Set up the LMR triplet from the frag segment */ /* Set up the LMR triplet from the frag segment */
frag->segment.seg_len = (uint32_t)size; frag->segment.base.seg_len = (uint32_t)size;
frag->triplet.virtual_address = frag->triplet.virtual_address =
(DAT_VADDR)(uintptr_t)frag->segment.seg_addr.pval; (DAT_VADDR)(uintptr_t)frag->segment.base.seg_addr.pval;
/* assume send/recv as default when computing segment_length */ /* assume send/recv as default when computing segment_length */
frag->triplet.segment_length = frag->triplet.segment_length =
frag->segment.seg_len + sizeof(mca_btl_udapl_footer_t); frag->segment.base.seg_len + sizeof(mca_btl_udapl_footer_t);
assert(frag->triplet.lmr_context == assert(frag->triplet.lmr_context ==
((mca_btl_udapl_reg_t*)frag->registration)->lmr_triplet.lmr_context); ((mca_btl_udapl_reg_t*)frag->registration)->lmr_triplet.lmr_context);
@ -1402,7 +1402,7 @@ static int mca_btl_udapl_endpoint_send_eager_rdma(
/* fill in data */ /* fill in data */
segment = des->des_src; segment = des->des_src;
rdma_connect = rdma_connect =
(mca_btl_udapl_eager_rdma_connect_t*)segment->seg_addr.pval; (mca_btl_udapl_eager_rdma_connect_t*)segment->base.seg_addr.pval;
rdma_connect->control.type = rdma_connect->control.type =
MCA_BTL_UDAPL_CONTROL_RDMA_CONNECT; MCA_BTL_UDAPL_CONTROL_RDMA_CONNECT;
rdma_connect->rkey = rdma_connect->rkey =
@ -1414,8 +1414,8 @@ static int mca_btl_udapl_endpoint_send_eager_rdma(
data_frag = (mca_btl_udapl_frag_t*)des; data_frag = (mca_btl_udapl_frag_t*)des;
data_frag->endpoint = endpoint; data_frag->endpoint = endpoint;
data_frag->ftr = (mca_btl_udapl_footer_t *) data_frag->ftr = (mca_btl_udapl_footer_t *)
((char *)data_frag->segment.seg_addr.pval + ((char *)data_frag->segment.base.seg_addr.pval +
data_frag->segment.seg_len); data_frag->segment.base.seg_len);
data_frag->ftr->tag = MCA_BTL_TAG_UDAPL; data_frag->ftr->tag = MCA_BTL_TAG_UDAPL;
data_frag->type = MCA_BTL_UDAPL_SEND; data_frag->type = MCA_BTL_UDAPL_SEND;
@ -1439,7 +1439,7 @@ static int mca_btl_udapl_endpoint_send_eager_rdma(
* pointer to the first fragment structure is held here: * pointer to the first fragment structure is held here:
* endpoint->endpoint_eager_rdma_local.base.pval. Each of these * endpoint->endpoint_eager_rdma_local.base.pval. Each of these
* fragment structures will contain a pointer, * fragment structures will contain a pointer,
* frag->segment.seg_addr.pval set during a call to OBJ_CONSTRUCT(), * frag->segment.base.seg_addr.pval set during a call to OBJ_CONSTRUCT(),
* to its associated data region. The data region for all fragments * to its associated data region. The data region for all fragments
* will be contiguous and created by accessing the mpool. * will be contiguous and created by accessing the mpool.
* *
@ -1584,7 +1584,7 @@ int mca_btl_udapl_endpoint_send_eager_rdma_credits(
/* fill in data */ /* fill in data */
segment = des->des_src; segment = des->des_src;
rdma_credit = (mca_btl_udapl_eager_rdma_credit_t*)segment->seg_addr.pval; rdma_credit = (mca_btl_udapl_eager_rdma_credit_t*)segment->base.seg_addr.pval;
rdma_credit->control.type = MCA_BTL_UDAPL_CONTROL_RDMA_CREDIT; rdma_credit->control.type = MCA_BTL_UDAPL_CONTROL_RDMA_CREDIT;
rdma_credit->credits = endpoint->endpoint_eager_rdma_local.credits; rdma_credit->credits = endpoint->endpoint_eager_rdma_local.credits;
@ -1599,7 +1599,7 @@ int mca_btl_udapl_endpoint_send_eager_rdma_credits(
frag = (mca_btl_udapl_frag_t*)des; frag = (mca_btl_udapl_frag_t*)des;
frag->endpoint = endpoint; frag->endpoint = endpoint;
frag->ftr = (mca_btl_udapl_footer_t *) frag->ftr = (mca_btl_udapl_footer_t *)
((char *)frag->segment.seg_addr.pval + frag->segment.seg_len); ((char *)frag->segment.base.seg_addr.pval + frag->segment.base.seg_len);
frag->ftr->tag = MCA_BTL_TAG_UDAPL; frag->ftr->tag = MCA_BTL_TAG_UDAPL;
frag->type = MCA_BTL_UDAPL_SEND; frag->type = MCA_BTL_UDAPL_SEND;
cookie.as_ptr = frag; cookie.as_ptr = frag;
@ -1652,7 +1652,7 @@ int mca_btl_udapl_endpoint_send_sr_credits(
/* fill in data */ /* fill in data */
segment = des->des_src; segment = des->des_src;
sr_credit = (mca_btl_udapl_sr_credit_t*)segment->seg_addr.pval; sr_credit = (mca_btl_udapl_sr_credit_t*)segment->base.seg_addr.pval;
sr_credit->control.type = MCA_BTL_UDAPL_CONTROL_SR_CREDIT; sr_credit->control.type = MCA_BTL_UDAPL_CONTROL_SR_CREDIT;
OPAL_THREAD_LOCK(&endpoint->endpoint_lock); OPAL_THREAD_LOCK(&endpoint->endpoint_lock);
sr_credit->credits = endpoint->endpoint_sr_credits[connection]; sr_credit->credits = endpoint->endpoint_sr_credits[connection];
@ -1668,7 +1668,7 @@ int mca_btl_udapl_endpoint_send_sr_credits(
frag = (mca_btl_udapl_frag_t*)des; frag = (mca_btl_udapl_frag_t*)des;
frag->endpoint = endpoint; frag->endpoint = endpoint;
frag->ftr = (mca_btl_udapl_footer_t *) frag->ftr = (mca_btl_udapl_footer_t *)
((char *)frag->segment.seg_addr.pval + frag->segment.seg_len); ((char *)frag->segment.base.seg_addr.pval + frag->segment.base.seg_len);
frag->ftr->tag = MCA_BTL_TAG_UDAPL; frag->ftr->tag = MCA_BTL_TAG_UDAPL;
frag->type = MCA_BTL_UDAPL_SEND; frag->type = MCA_BTL_UDAPL_SEND;
cookie.as_ptr = frag; cookie.as_ptr = frag;