Re: [RFC PATCH 3/4] x86/asm: Make alternative macro interfaces more clear and consistent

From: Josh Poimboeuf
Date: Thu Sep 14 2017 - 13:26:44 EST


On Thu, Sep 14, 2017 at 10:16:08AM -0700, Linus Torvalds wrote:
> On Thu, Sep 14, 2017 at 7:48 AM, Josh Poimboeuf <jpoimboe@xxxxxxxxxx> wrote:
> >
> > As it turns out, the real problem with this option is that it imposes a
> > penalty for CONFIG_FRAME_POINTER=n: even with frame pointers disabled,
> > it forces the frame pointer to be saved for each function which uses the
> > inline asm "call" statements. Our current solution doesn't do that.
>
> But couldn't we make the whole stack pointer clobber be dependent on
> CONFIG_FRAME_POINTER?
>
> The only reason we do it is to make sure the frame pointer is set up
> before the inline asm is emitted, but with frame pointers disabled we
> don't need to.

We could, but then that would mean either:

a) uglifying the 15 or so relevant inline asm locations with ifdefs; or

b) using my ASM_CALL macro, which I think you frowned upon?

--
Josh