[dpdk-dev] [PATCH v7 4/8] vhost: rxtx: use queue id instead of constant ring index
Stephen Hemminger
stephen at networkplumber.org
Wed Oct 21 17:47:47 CEST 2015
On Wed, 21 Oct 2015 09:38:37 +0000
"Ananyev, Konstantin" <konstantin.ananyev at intel.com> wrote:
> > > minor nits:
> > > * this doesn't need to be marked as always inline,
> > > that is as they say in English "shooting a fly with a bazooka"
> > Stephen:
> > always_inline "forces" the compiler to inline this function, like a macro.
> > When should it be used or is it not preferred at all?
>
> 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.
More information about the dev
mailing list