On Mon, 4 June 2007 14:38:23 +0100, David Woodhouse wrote: > On Mon, 2007-06-04 at 11:12 +0200, Jörn Engel wrote: > > On Sun, 3 June 2007 23:42:25 +0200, Arnd Bergmann wrote: > > > On Sunday 03 June 2007, Jörn Engel wrote: > > > > +struct logfs_je_spillout { > > > > + __be64 so_segment[0]; > > > > +}__packed; > > > > > > All the on-disk data structures you define in this file have naturally > > > aligned members, so the __packed attribute is not needed. > > > > Amen. It is purely paranoia and I don't even know who is out to get me. > > You can _never_ know who is out to get you, or what architecture we'll > be ported to next week. > > The advice "don't tell the compiler what you want unless you _know_ > it'll do the wrong thing otherwise" runs counter to everything we've > learned, slowly and painfully, over the last few years. > > We should never rely on compiler behaviour which is undocumented and > unrequired. Even if you know that the ABI forces it to continue to do > the right thing on the platforms you _currently_ care about, it might > not do it on new platforms (or existing platforms you didn't manage to > test). > > It would be better if GCC had a 'nopadding' attribute which gave us what > we need without the _extra_ implications about alignment. In the absence > of that, though, you should at _least_ have a check on the size of the > structure if you're doing to drop the packed attribute. Adding a size check is simple enough. But given all this I'll put it to the very end of my todo list. There are many other optimizations remaining. Jörn -- Joern's library part 14: http://www.sandpile.org/ - To unsubscribe from this list: send the line "unsubscribe linux-fsdevel" in the body of a message to majordomo@xxxxxxxxxxxxxxx More majordomo info at http://vger.kernel.org/majordomo-info.html