[ovs-dev] [-next] openvswitch BUILD_BUG_ON failed

Jesse Gross jesse at nicira.com
Thu Aug 29 21:42:22 UTC 2013


On Thu, Aug 29, 2013 at 2:21 PM, Geert Uytterhoeven
<geert at linux-m68k.org> wrote:
> However, I have some doubts about other alignment "enforcements":
>
> "__aligned(__alignof__(long))" makes the whole struct aligned to the
> alignment rule for "long":
>    1. This is only 2 bytes on m68k, i.e. != sizeof(long).
>    2. This is 4 bytes on many 32-bit platforms, which may be less than the
>       default alignment for "__be64" (cfr. some members of struct
>       ovs_key_ipv4_tunnel), so this may make those 64-bit members unaligned.

Do any of those 32-bit architectures actually care about alignment of
64 bit values? On 32-bit x86, a long is 32 bits but the alignment
requirement of __be64 is also 32 bit.



More information about the dev mailing list