Re: [PATCH v4 00/18] Add static_call()

From: Peter Zijlstra
Date: Wed May 06 2020 - 14:06:08 EST


On Wed, May 06, 2020 at 12:32:29PM -0500, Josh Poimboeuf wrote:
> On Fri, May 01, 2020 at 10:28:49PM +0200, Peter Zijlstra wrote:
> > static_call(), is the idea of static_branch() applied to indirect function
> > calls. Remove a data load (indirection) by modifying the text.
> >
> > The inline implementation still relies on objtool to generate the
> > .static_call_sites section, mostly because this is a natural place for x86_64
> > and works for both GCC and LLVM. Other architectures can pick other means
> > if/when they implement the inline patching. The out-of-line (aka. trampoline)
> > variant doesn't require this.
> >
> > Patches go on top of tip/objtool/core.
> >
> > Patches can also be found here:
> >
> > git://git.kernel.org/pub/scm/linux/kernel/git/peterz/queue.git x86/static_call
>
> So this branch has
>
> 45a5c99a226a ("x86/tlb: Move trace_tlb_flush() declaration")
>
> but I didn't see it posted here. I guess you dropped it because it's no
> longer needed b/c we fixed those 'undefined references' a different way.

Correct; still prossibly a sane clean-up, but I got rid of it for now.