Re: [Patch 04/18] include/linux/logfs.h

From: Segher Boessenkool
Date: Tue Jun 05 2007 - 14:49:31 EST


It would be better if GCC had a 'nopadding' attribute which gave us
what we need without the _extra_ implications about alignment.

That's impossible; removing the padding from a struct
_will_ make accesses to its members unaligned (think
about arrays of that struct).

It _might_ make accesses to _some_ of its members unaligned.

It _will_ make accesses to _at least one_ of the members
unaligned, in the second array element.

That's why I said 'without the __EXTRA__ implications about alignment'.

Obviously the lack of padding has its own implications, but we don't
necessarily need to assume that the struct may be at arbitrary
locations.

The compiler does though, if it can't prove otherwise.

What would "nopadding" buy us, anyway?


Segher

-
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/