Re: [PATCH -v7][RFC]: mutex: implement adaptive spinning

Linus Torvalds
2009-01-09T21:48:20Z

On Fri, 9 Jan 2009, Ingo Molnar wrote:
>
> - Perhaps we could introduce a name for the first category: __must_inline?
> __should_inline? Not because it wouldnt mean 'always', but because it is
> 'always inline' for another reason than the correctless __always_inline.

I think you're thinking about this the wrong way.

"inline" is a pretty damn strong hint already.

If you want a weaker one, make it _weaker_ instead of trying to use
superlatives like "super_inline" or "must_inline" or whatever.

So I'd suggest:

- keep "inline" as being a strong hint. In fact, I'd suggest it not be a
hint at all - when we say "inline", we mean it. No ambiguity
_anywhere_, and no need for idiotic "I really really REALLY mean it"
versions.

- add a "maybe_inline" or "inline_hint" to mean that "ok, compiler, maybe
this is worth inlining, but I'll leave the final choice to you".

That would get rid of the whole rationale for OPTIMIZE_INLINING=y, because
at that point, it's no longer potentially a correctness issue. At that
point, if we let gcc optimize things, it was a per-call-site conscious
decision.

Linus