Re: [-next] openvswitch BUILD_BUG_ON failed

From: David Miller
Date: Thu Aug 29 2013 - 18:10:13 EST


From: Jesse Gross <jesse@xxxxxxxxxx>
Date: Thu, 29 Aug 2013 14:42:22 -0700

> On Thu, Aug 29, 2013 at 2:21 PM, Geert Uytterhoeven
> <geert@xxxxxxxxxxxxxx> 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.

All except x86-32 do, it is in fact the odd man out with respect to this
issue.
--
To unsubscribe from this list: send the line "unsubscribe linux-kernel" in
the body of a message to majordomo@xxxxxxxxxxxxxxx
More majordomo info at http://vger.kernel.org/majordomo-info.html
Please read the FAQ at http://www.tux.org/lkml/