On May 30, 2016 5:30 AM, "Paolo Bonzini" <pbonz...@redhat.com> wrote: > > This matches what is already done for prepare_exit_to_usermode, > and saves about 60 clock cycles (4% speedup) with the benchmark > in the previous commit message. > > Cc: Andy Lutomirski <l...@kernel.org> > Cc: Peter Zijlstra <pet...@infradead.org> > Cc: Rik van Riel <r...@redhat.com> > Cc: H. Peter Anvin <h...@zytor.com> > Cc: Ingo Molnar <mi...@kernel.org.com> > Cc: Thomas Gleixner <t...@linutronix.de> > Signed-off-by: Paolo Bonzini <pbonz...@redhat.com> > --- > arch/x86/entry/common.c | 2 +- > 1 file changed, 1 insertion(+), 1 deletion(-) > > diff --git a/arch/x86/entry/common.c b/arch/x86/entry/common.c > index 946bc1a..582bbc8 100644 > --- a/arch/x86/entry/common.c > +++ b/arch/x86/entry/common.c > @@ -40,7 +40,7 @@ static struct thread_info *pt_regs_to_thread_info(struct > pt_regs *regs) > > #ifdef CONFIG_CONTEXT_TRACKING > /* Called on entry from user mode with IRQs off. */ > -__visible void enter_from_user_mode(void) > +__visible inline void enter_from_user_mode(void) > { > CT_WARN_ON(ct_state() != CONTEXT_USER); > __user_exit();
I wonder if an extern inline *declaration* is needed as well in this C file. At least C99 suggests it is. Maybe __visible is sufficient to force an external definition to be emitted.