[ofw] [PATCH] ib_types.h - align structs to even multiples of 8 bytes

Hal Rosenstock hal.rosenstock at gmail.com
Fri May 21 05:15:15 PDT 2010


On Thu, May 20, 2010 at 4:07 PM, Smith, Stan <stan.smith at intel.com> wrote:
>
> In function 'ib_get_attr_offset()' replace attr_size adjustment code with an ASSERT() as attr offset sizes are required to be a multiple of 8 bytes.
>
> By removing antiquated structure padding, the sizeof(struct) values return to the correct size alignment.
> Removal of padding allows osmtest to correctly generate and validate a fabric inventory file.
>
> signed-off-by: stan smith <stan.smith at intel.com>
>
> --- a/inc/iba/ib_types.h        Thu May 20 12:55:24 2010
> +++ b/inc/iba/ib_types.h        Thu May 20 11:33:10 2010
> @@ -4408,10 +4408,8 @@
>  ib_get_attr_offset(
>        IN              const   uint32_t                                        attr_size )
>  {
> -       if( attr_size & 0x07 )
> -               return( cl_hton16( (uint16_t)(attr_size >> 3) + 1 ) );
> -       else
> -               return( cl_hton16( (uint16_t)(attr_size >> 3) ) );
> +       CL_ASSERT((attr_size & 0x07) == 0);

Should this assert be pushed to the Linux (main) version of this file ?

-- Hal

> +       return( cl_hton16( (uint16_t)(attr_size >> 3) ) );
>  }
>
>  /****f* IBA Base: Types/ib_sa_mad_get_payload_ptr
> @@ -6088,7 +6086,6 @@
>        uint8_t                 port_num;
>        uint8_t                 resv;
>        ib_port_info_t  port_info;
> -       uint8_t                 pad[6];
>
>  }      PACK_SUFFIX ib_portinfo_record_t;
>  #include <complib/cl_packoff.h>
> @@ -6192,7 +6189,6 @@
>        ib_net16_t                      lid;
>        uint16_t                        resv0;
>        ib_switch_info_t        switch_info;
> -       uint8_t                         pad[3];
>
>  }      PACK_SUFFIX ib_switch_info_record_t;
>  #include <complib/cl_packoff.h>
> _______________________________________________
> ofw mailing list
> ofw at lists.openfabrics.org
> http://lists.openfabrics.org/cgi-bin/mailman/listinfo/ofw
>



More information about the ofw mailing list