2015-10-21 08:47, Stephen Hemminger: > On Wed, 21 Oct 2015 09:38:37 +0000 > "Ananyev, Konstantin" <konstantin.ananyev at intel.com> wrote: > > I also don't understand what's wrong with using 'always_inline' here. > > As I understand the author wants compiler to *always inline* that function. > > So seems perfectly ok to use it here. > > As I remember just 'inline' is sort of recommendation that compiler is free > > to ignore. > > Konstantin > > I follow Linux/Linus advice and resist the urge to add strong inlining. > The compiler does a good job of deciding to inline, and many times > the reason it chooses for not inlining are quite good like: > - the code is on an unlikely branch > - register pressure means inlining would mean the code would be worse > > Therefore my rules are: > * only use inline for small functions. Let compiler decide on larger static > funcs > * write code where most functions are static (localized scope) where > compiler > can decide > * reserve always inline for things that access hardware and would break if > not inlined.
It would be interesting to do some benchmarks with/without "always" keyword and add these rules in the coding style guide.