Re: [PATCH v2 4/4] x86/static_call: Add inline static call implementation for x86-64

From: Andy Lutomirski
Date: Fri Nov 30 2018 - 15:18:50 EST

On Fri, Nov 30, 2018 at 11:51 AM Linus Torvalds
<torvalds@xxxxxxxxxxxxxxxxxxxx> wrote:
> On Fri, Nov 30, 2018 at 10:39 AM Josh Poimboeuf <jpoimboe@xxxxxxxxxx> wrote:
> >
> > AFAICT, all the other proposed options seem to have major issues.
> I still absolutely detest this patch, and in fact it got worse from
> the test of the config variable.
> Honestly, the entry code being legible and simple is more important
> than the extra cycle from branching to a trampoline for static calls.
> Just don't do the inline case if it causes this much confusion.

With my entry maintainer hat on, I don't mind it so much, although the
implementation needs some work. The #ifdef should just go away, and
there should be another sanity check in the sanity check section.

Or we could replace that IPI with x86's bona fide serialize-all-cpus
primitive and then we can just retry instead of emulating. It's a
piece of cake -- we just trigger an SMI :) /me runs away.