From: Mark Rutland > Sent: 09 July 2018 16:49 > > On Mon, Jul 09, 2018 at 05:45:21PM +0200, Peter Zijlstra wrote: > > On Mon, Jul 09, 2018 at 05:34:27PM +0200, Peter Zijlstra wrote: > > > On Mon, Jul 09, 2018 at 04:29:58PM +0100, Mark Rutland wrote: > > > > Shouldn't that be 8? AFAICT, __alignof__(unsigned long long) is 8 on > > > > x86_32: > > > > > > Curious, I wonder why we put that align in atomic64_32 then. > > > > Shiny, look at this: https://gcc.gnu.org/bugzilla/show_bug.cgi?id=54188 > > > > Ouch. Indeed. changing the definition to: struct ull { unsigned long long v __attribute__((aligned(__alignof__(long long)))); }; prints 8 for the structure alignment. Time to audit uses of __alignof__(). #define actual_alignof(type) __alignof__(struct { type jsdjdhjdjh; }) David