On Wed, Nov 11, 2020 at 04:47:16PM +0100, Jessica Yu wrote: > Thanks for providing the links and references. Your explanation and > this reply from Jakub [1] clarified things for me. I was not aware of > the distinction gcc made between aligned attributes on types vs. on > variables. So from what I understand now, gcc suppresses the > optimization when the alignment is specified in the variable > declaration, but not necessarily when the aligned attribute is just on > the type. > > Even though it's been in use for a long time, I think it would be > really helpful if this gcc quirk was explained just a bit more in the > patch changelogs, especially since this is undocumented behavior. > I found the explanation in [1] (as well as in your cover letter) to be > sufficient. Maybe something like "GCC suppresses any optimizations > increasing alignment when the alignment is specified in the variable > declaration, as opposed to just on the type definition. Therefore, > explicitly specify type alignment when declaring entries to prevent > gcc from increasing alignment." Sure, I can try to expand the commit messages a bit. > In any case, I can take the module and moduleparam.h patches through > my tree, but I will wait a few days in case there are any objections. Sounds good, thanks. I'll send a v2 next week then. Johan > [1] https://lore.kernel.org/lkml/20201021131806.GA2176@tucnak/