I don’t care either. I just wanted to let you know that in other parts of the 
code, that carefully dealt with the opal_identifier_t vs. ompi_process_name_t 
there was no such [strict] requirement.

  George.



On Apr 30, 2014, at 18:42 , Jeff Squyres (jsquyres) <jsquy...@cisco.com> wrote:

> On Apr 30, 2014, at 6:35 PM, George Bosilca <bosi...@icl.utk.edu> wrote:
> 
>> Puzzling. We survived so far without such a requirement.
> 
> Ralph tells me that this is a requirement.  So I figured we should check for 
> it.
> 
>> In the BTLs where we needed a 64 bits entity corresponding to the 
>> ompi_process_name_t we took advantage of the ompi_rte_hash_name function. 
>> This function is supposed to convert from an ompi_process_name_t to a 
>> uint64_t (in fact an opal_identifier_t) which can be then used to handle 
>> hash tables.
> 
> ...I don't really care, either way.  I'll do whatever you guys tell me to do 
> here.  :-)
> 
> I put that assert there because Ralph told me it was a requirement, and I now 
> have code in the usnic BTL that is doing a memcpy from a union uint64_t 
> member to an ompi_process_name_t, and it assumes that the sizes are 
> guaranteed to be the same.
> 
> If we want to do it some other way, that's fine with me, too.
> 
> 
>> George.
>> 
>> 
>> On Apr 30, 2014, at 18:12 , svn-commit-mai...@open-mpi.org wrote:
>> 
>>> Author: jsquyres (Jeff Squyres)
>>> Date: 2014-04-30 18:12:54 EDT (Wed, 30 Apr 2014)
>>> New Revision: 31577
>>> URL: https://svn.open-mpi.org/trac/ompi/changeset/31577
>>> 
>>> Log:
>>> rte_base_frame.c: add sanity check to ensure proper sizes
>>> 
>>> There's a requirement in several places (e.g., opal dstore) that
>>> sizeof(ompi_process_name_t) -- which comes from the compile-time
>>> selected ompi/mca/rte component -- is equal to sizeof(uint64_t).  If
>>> it's not, Bad Things will happen.
>>> 
>>> So put an assert here to catch that case.
>>> 
>>> Text files modified: 
>>> trunk/ompi/mca/rte/base/rte_base_frame.c |    10 +++++++++-                 
>>>              
>>> 1 files changed, 9 insertions(+), 1 deletions(-)
>>> 
>>> Modified: trunk/ompi/mca/rte/base/rte_base_frame.c
>>> ==============================================================================
>>> --- trunk/ompi/mca/rte/base/rte_base_frame.c        Wed Apr 30 18:10:30 
>>> 2014        (r31576)
>>> +++ trunk/ompi/mca/rte/base/rte_base_frame.c        2014-04-30 18:12:54 EDT 
>>> (Wed, 30 Apr 2014)      (r31577)
>>> @@ -1,6 +1,7 @@
>>> /*
>>> * Copyright (c) 2012-2013 Los Alamos National Security, LLC.
>>> *                         All rights reserved.
>>> + * Copyright (c) 2014 Cisco Systems, Inc.  All rights reserved.
>>> * $COPYRIGHT$
>>> * 
>>> * Additional copyrights may follow
>>> @@ -12,6 +13,7 @@
>>> #include "ompi_config.h"
>>> #include "ompi/constants.h"
>>> 
>>> +#include "opal_stdint.h"
>>> #include "opal/util/output.h"
>>> #include "opal/mca/mca.h"
>>> #include "opal/mca/base/base.h"
>>> @@ -36,7 +38,13 @@
>>> static int ompi_rte_base_open(mca_base_open_flag_t flags)
>>> {
>>>   /* Open up all available components */
>>> -    return mca_base_framework_components_open(&ompi_rte_base_framework, 
>>> flags);
>>> +    int ret = mca_base_framework_components_open(&ompi_rte_base_framework, 
>>> flags);
>>> +
>>> +    /* Sanity check.  Many things will break if this is not true
>>> +       (e.g., opal dstore needs this to be true). */
>>> +    assert(sizeof(ompi_process_name_t) == sizeof(uint64_t));
>>> +
>>> +    return ret;
>>> }
>>> 
>>> MCA_BASE_FRAMEWORK_DECLARE(ompi, rte, "OMPI Run-Time Environment 
>>> Interface", NULL,
>>> _______________________________________________
>>> svn mailing list
>>> s...@open-mpi.org
>>> http://www.open-mpi.org/mailman/listinfo.cgi/svn
>> 
>> _______________________________________________
>> devel mailing list
>> de...@open-mpi.org
>> Subscription: http://www.open-mpi.org/mailman/listinfo.cgi/devel
>> Link to this post: 
>> http://www.open-mpi.org/community/lists/devel/2014/04/14663.php
> 
> 
> -- 
> Jeff Squyres
> jsquy...@cisco.com
> For corporate legal information go to: 
> http://www.cisco.com/web/about/doing_business/legal/cri/
> 
> _______________________________________________
> devel mailing list
> de...@open-mpi.org
> Subscription: http://www.open-mpi.org/mailman/listinfo.cgi/devel
> Link to this post: 
> http://www.open-mpi.org/community/lists/devel/2014/04/14664.php

Reply via email to