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

From: Linus Torvalds
Date: Thu Sep 14 2017 - 13:16:16 EST


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.

Or was there some other compiler issue?

But yes, talking to the compiler people is a good idea anyway. Both
the clang ones (marking rsp as an in/out register *really* shouldn't
cause them to generate wrong code) and the gcc people (to see if there
are other alternatives).

Linus