Just curious -- why was it necessary to increase the size of the 8, 32, and 64 arrays?
On Nov 6, 2011, at 11:19 AM, hje...@osl.iu.edu wrote: > Author: hjelmn > Date: 2011-11-06 11:19:09 EST (Sun, 06 Nov 2011) > New Revision: 25445 > URL: https://svn.open-mpi.org/trac/ompi/changeset/25445 > > Log: > changes to seg_key needed for a new btl > Text files modified: > trunk/ompi/mca/btl/btl.h | 8 ++++---- > > trunk/ompi/mca/btl/mx/btl_mx.c | 6 +++--- > > trunk/ompi/mca/btl/portals/btl_portals.c | 12 ++++++------ > > trunk/ompi/mca/btl/portals/btl_portals_frag.c | 2 +- > > trunk/ompi/mca/btl/portals/btl_portals_rdma.c | 8 ++++---- > > trunk/ompi/mca/btl/self/btl_self.c | 4 ++-- > > trunk/ompi/mca/btl/sm/btl_sm.c | 6 +++--- > > trunk/ompi/mca/btl/vader/btl_vader.c | 4 ++-- > > trunk/ompi/mca/btl/vader/btl_vader_get.c | 6 +++--- > > trunk/ompi/mca/btl/vader/btl_vader_put.c | 6 +++--- > > 10 files changed, 31 insertions(+), 31 deletions(-) > > Modified: trunk/ompi/mca/btl/btl.h > ============================================================================== > --- trunk/ompi/mca/btl/btl.h (original) > +++ trunk/ompi/mca/btl/btl.h 2011-11-06 11:19:09 EST (Sun, 06 Nov 2011) > @@ -238,10 +238,10 @@ > #endif > /** Memory segment key required by some RDMA networks */ > union { > - uint32_t key32[2]; > - uint64_t key64; > - uint8_t key8[8]; > - uintptr_t ptr; > + uint32_t key32[4]; > + uint64_t key64[2]; > + uint8_t key8[16]; > + uintptr_t ptr[2]; > } seg_key; > }; > typedef struct mca_btl_base_segment_t mca_btl_base_segment_t; > > Modified: trunk/ompi/mca/btl/mx/btl_mx.c > ============================================================================== > --- trunk/ompi/mca/btl/mx/btl_mx.c (original) > +++ trunk/ompi/mca/btl/mx/btl_mx.c 2011-11-06 11:19:09 EST (Sun, 06 Nov > 2011) > @@ -323,13 +323,13 @@ > > frag->segment[0].seg_len = *size; > opal_convertor_get_current_pointer( convertor, > (void**)&(frag->segment[0].seg_addr.pval) ); > - frag->segment[0].seg_key.key64 = (uint64_t)(intptr_t)frag; > + frag->segment[0].seg_key.key64[0] = (uint64_t)(intptr_t)frag; > > mx_segment.segment_ptr = frag->segment[0].seg_addr.pval; > mx_segment.segment_length = frag->segment[0].seg_len; > > mx_return = mx_irecv( mx_btl->mx_endpoint, &mx_segment, 1, > - frag->segment[0].seg_key.key64, > + frag->segment[0].seg_key.key64[0], > BTL_MX_PUT_MASK, NULL, &(frag->mx_request) ); > if( OPAL_UNLIKELY(MX_SUCCESS != mx_return) ) { > opal_output( 0, "Fail to re-register a fragment with the MX NIC > ...\n" ); > @@ -396,7 +396,7 @@ > > mx_return = mx_isend( mx_btl->mx_endpoint, mx_segment, > descriptor->des_src_cnt, > endpoint->mx_peer_addr, > - descriptor->des_dst[0].seg_key.key64, frag, > + descriptor->des_dst[0].seg_key.key64[0], frag, > &frag->mx_request ); > if( OPAL_UNLIKELY(MX_SUCCESS != mx_return) ) { > opal_output( 0, "mx_isend fails with error %s\n", > mx_strerror(mx_return) ); > > Modified: trunk/ompi/mca/btl/portals/btl_portals.c > ============================================================================== > --- trunk/ompi/mca/btl/portals/btl_portals.c (original) > +++ trunk/ompi/mca/btl/portals/btl_portals.c 2011-11-06 11:19:09 EST (Sun, > 06 Nov 2011) > @@ -357,7 +357,7 @@ > > frag->segments[0].seg_len = max_data; > frag->segments[0].seg_addr.pval = iov.iov_base; > - frag->segments[0].seg_key.key64 = > + frag->segments[0].seg_key.key64[0] = > OPAL_THREAD_ADD64(&(mca_btl_portals_module.portals_rdma_key), 1); > frag->base.des_src_cnt = 1; > > @@ -366,13 +366,13 @@ > "rdma src posted for frag 0x%lx, callback 0x%lx, > bits %"PRIu64", flags say %d" , > (unsigned long) frag, > (unsigned long) frag->base.des_cbfunc, > - frag->segments[0].seg_key.key64, flags)); > + frag->segments[0].seg_key.key64[0], flags)); > > /* create a match entry */ > ret = PtlMEAttach(mca_btl_portals_module.portals_ni_h, > OMPI_BTL_PORTALS_RDMA_TABLE_ID, > *((mca_btl_base_endpoint_t*) peer), > - frag->segments[0].seg_key.key64, /* match */ > + frag->segments[0].seg_key.key64[0], /* match */ > 0, /* ignore */ > PTL_UNLINK, > PTL_INS_AFTER, > @@ -449,7 +449,7 @@ > > frag->segments[0].seg_len = *size; > opal_convertor_get_current_pointer( convertor, > (void**)&(frag->segments[0].seg_addr.pval) ); > - frag->segments[0].seg_key.key64 = > + frag->segments[0].seg_key.key64[0] = > OPAL_THREAD_ADD64(&(mca_btl_portals_module.portals_rdma_key), 1); > frag->base.des_src = NULL; > frag->base.des_src_cnt = 0; > @@ -461,14 +461,14 @@ > "rdma dest posted for frag 0x%lx, callback 0x%lx, > bits %" PRIu64 " flags %d", > (unsigned long) frag, > (unsigned long) frag->base.des_cbfunc, > - frag->segments[0].seg_key.key64, > + frag->segments[0].seg_key.key64[0], > flags)); > > /* create a match entry */ > ret = PtlMEAttach(mca_btl_portals_module.portals_ni_h, > OMPI_BTL_PORTALS_RDMA_TABLE_ID, > *((mca_btl_base_endpoint_t*) peer), > - frag->segments[0].seg_key.key64, /* match */ > + frag->segments[0].seg_key.key64[0], /* match */ > 0, /* ignore */ > PTL_UNLINK, > PTL_INS_AFTER, > > Modified: trunk/ompi/mca/btl/portals/btl_portals_frag.c > ============================================================================== > --- trunk/ompi/mca/btl/portals/btl_portals_frag.c (original) > +++ trunk/ompi/mca/btl/portals/btl_portals_frag.c 2011-11-06 11:19:09 EST > (Sun, 06 Nov 2011) > @@ -34,7 +34,7 @@ > > frag->segments[0].seg_addr.pval = frag + 1; > frag->segments[0].seg_len = frag->size; > - frag->segments[0].seg_key.key64 = 0; > + frag->segments[0].seg_key.key64[0] = 0; > > frag->md_h = PTL_INVALID_HANDLE; > } > > Modified: trunk/ompi/mca/btl/portals/btl_portals_rdma.c > ============================================================================== > --- trunk/ompi/mca/btl/portals/btl_portals_rdma.c (original) > +++ trunk/ompi/mca/btl/portals/btl_portals_rdma.c 2011-11-06 11:19:09 EST > (Sun, 06 Nov 2011) > @@ -39,7 +39,7 @@ > OPAL_OUTPUT_VERBOSE((90, mca_btl_portals_component.portals_output, > "PtlPut (rdma) fragment %lx, bits %" PRIx64, > (unsigned long) frag, > - frag->base.des_dst[0].seg_key.key64)); > + frag->base.des_dst[0].seg_key.key64[0])); > > assert(&mca_btl_portals_module == (mca_btl_portals_module_t*) btl_base); > assert(frag->md_h != PTL_INVALID_HANDLE); > @@ -55,7 +55,7 @@ > *((mca_btl_base_endpoint_t*) btl_peer), > OMPI_BTL_PORTALS_RDMA_TABLE_ID, > 0, /* ac_index - not used*/ > - frag->base.des_dst[0].seg_key.key64, /* match bits */ > + frag->base.des_dst[0].seg_key.key64[0], /* match bits */ > 0, /* remote offset - not used */ > *((ptl_hdr_data_t*) hdr_data)); /* hdr_data: tag > */ > if (ret != PTL_OK) { > @@ -79,7 +79,7 @@ > OPAL_OUTPUT_VERBOSE((90, mca_btl_portals_component.portals_output, > "PtlGet (rdma) fragment %lx, bits %" PRIx64, > (unsigned long) frag, > - frag->base.des_src[0].seg_key.key64)); > + frag->base.des_src[0].seg_key.key64[0])); > > assert(&mca_btl_portals_module == (mca_btl_portals_module_t*) btl_base); > assert(frag->md_h != PTL_INVALID_HANDLE); > @@ -91,7 +91,7 @@ > *((mca_btl_base_endpoint_t*) btl_peer), > OMPI_BTL_PORTALS_RDMA_TABLE_ID, > 0, /* ac_index - not used*/ > - frag->base.des_src[0].seg_key.key64, /* match bits */ > + frag->base.des_src[0].seg_key.key64[0], /* match bits */ > 0); /* remote offset - not used */ > if (ret != PTL_OK) { > opal_output(mca_btl_portals_component.portals_output, > > Modified: trunk/ompi/mca/btl/self/btl_self.c > ============================================================================== > --- trunk/ompi/mca/btl/self/btl_self.c (original) > +++ trunk/ompi/mca/btl/self/btl_self.c 2011-11-06 11:19:09 EST (Sun, > 06 Nov 2011) > @@ -235,7 +235,7 @@ > frag->base.des_flags = flags; > frag->base.des_src = &frag->segment; > frag->base.des_src_cnt = 1; > - frag->segment.seg_key.key64 = (uint64_t)(intptr_t)convertor; > + frag->segment.seg_key.key64[0] = (uint64_t)(intptr_t)convertor; > return &frag->base; > } > > @@ -264,7 +264,7 @@ > /* setup descriptor to point directly to user buffer */ > opal_convertor_get_current_pointer( convertor, > (void**)&(frag->segment.seg_addr.pval) ); > frag->segment.seg_len = reserve + max_data; > - frag->segment.seg_key.key64 = (uint64_t)(intptr_t)convertor; > + frag->segment.seg_key.key64[0] = (uint64_t)(intptr_t)convertor; > frag->base.des_dst = &frag->segment; > frag->base.des_dst_cnt = 1; > frag->base.des_flags = flags; > > Modified: trunk/ompi/mca/btl/sm/btl_sm.c > ============================================================================== > --- trunk/ompi/mca/btl/sm/btl_sm.c (original) > +++ trunk/ompi/mca/btl/sm/btl_sm.c 2011-11-06 11:19:09 EST (Sun, 06 Nov > 2011) > @@ -739,7 +739,7 @@ > if (OPAL_UNLIKELY(ioctl(sm_btl->knem_fd, KNEM_CMD_CREATE_REGION, > &knem_cr) < 0)) { > return NULL; > } > - frag->segment.seg_key.key64 = knem_cr.cookie; > + frag->segment.seg_key.key64[0] = knem_cr.cookie; > } > #endif > frag->base.des_src = &(frag->segment); > @@ -968,7 +968,7 @@ > recv_iovec.len = dst->seg_len; > icopy.local_iovec_array = (uintptr_t)&recv_iovec; > icopy.local_iovec_nr = 1; > - icopy.remote_cookie = src->seg_key.key64; > + icopy.remote_cookie = src->seg_key.key64[0]; > icopy.remote_offset = 0; > icopy.write = 0; > > @@ -1044,7 +1044,7 @@ > sm_btl->knem_status_first_avail = 0; > } > ++sm_btl->knem_status_num_used; > - icopy.remote_cookie = src->seg_key.key64; > + icopy.remote_cookie = src->seg_key.key64[0]; > icopy.remote_offset = 0; > > /* Use the DMA flag if knem supports it *and* the segment length > > Modified: trunk/ompi/mca/btl/vader/btl_vader.c > ============================================================================== > --- trunk/ompi/mca/btl/vader/btl_vader.c (original) > +++ trunk/ompi/mca/btl/vader/btl_vader.c 2011-11-06 11:19:09 EST (Sun, > 06 Nov 2011) > @@ -643,7 +643,7 @@ > > opal_convertor_get_current_pointer (convertor, (void **) &data_ptr); > > - frag->segment.seg_key.ptr = (uintptr_t) data_ptr; > + frag->segment.seg_key.ptr[0] = (uintptr_t) data_ptr; > frag->segment.seg_len = *size; > > frag->base.des_dst = &frag->segment; > @@ -738,7 +738,7 @@ > return NULL; > } > > - frag->segment.seg_key.ptr = (uintptr_t) data_ptr; > + frag->segment.seg_key.ptr[0] = (uintptr_t) data_ptr; > frag->segment.seg_len = reserve + *size; > } > > > Modified: trunk/ompi/mca/btl/vader/btl_vader_get.c > ============================================================================== > --- trunk/ompi/mca/btl/vader/btl_vader_get.c (original) > +++ trunk/ompi/mca/btl/vader/btl_vader_get.c 2011-11-06 11:19:09 EST (Sun, > 06 Nov 2011) > @@ -34,15 +34,15 @@ > void *rem_ptr; > > reg = vader_get_registation (endpoint->peer_smp_rank, > - (void *) src->seg_key.ptr, > + (void *) src->seg_key.ptr[0], > src->seg_len, 0); > if (OPAL_UNLIKELY(NULL == reg)) { > return OMPI_ERROR; > } > > - rem_ptr = vader_reg_to_ptr (reg, (void *) src->seg_key.ptr); > + rem_ptr = vader_reg_to_ptr (reg, (void *) src->seg_key.ptr[0]); > > - vader_memmove ((void *) dst->seg_key.ptr, rem_ptr, size); > + vader_memmove ((void *) dst->seg_key.ptr[0], rem_ptr, size); > > vader_return_registration (reg, endpoint->peer_smp_rank); > > > Modified: trunk/ompi/mca/btl/vader/btl_vader_put.c > ============================================================================== > --- trunk/ompi/mca/btl/vader/btl_vader_put.c (original) > +++ trunk/ompi/mca/btl/vader/btl_vader_put.c 2011-11-06 11:19:09 EST (Sun, > 06 Nov 2011) > @@ -34,15 +34,15 @@ > void *rem_ptr; > > reg = vader_get_registation (endpoint->peer_smp_rank, > - (void *) dst->seg_key.ptr, > + (void *) dst->seg_key.ptr[0], > dst->seg_len, 0); > if (OPAL_UNLIKELY(NULL == reg)) { > return OMPI_ERROR; > } > > - rem_ptr = vader_reg_to_ptr (reg, (void *) dst->seg_key.ptr); > + rem_ptr = vader_reg_to_ptr (reg, (void *) dst->seg_key.ptr[0]); > > - vader_memmove (rem_ptr, (void *) src->seg_key.ptr, size); > + vader_memmove (rem_ptr, (void *) src->seg_key.ptr[0], size); > > vader_return_registration (reg, endpoint->peer_smp_rank); > > _______________________________________________ > svn-full mailing list > svn-f...@open-mpi.org > http://www.open-mpi.org/mailman/listinfo.cgi/svn-full -- Jeff Squyres jsquy...@cisco.com For corporate legal information go to: http://www.cisco.com/web/about/doing_business/legal/cri/