lkml.org 
[lkml]   [2020]   [Jul]   [10]   [last100]   RSS Feed
Views: [wrap][no wrap]   [headers]  [forward] 
 
Messages in this thread
    /
    Date
    From
    SubjectRe: [PATCH v6 06/17] static_call: Add basic static call infrastructure
    On Fri, 10 Jul 2020 15:38:37 +0200
    Peter Zijlstra <peterz@infradead.org> wrote:

    > From: Josh Poimboeuf <jpoimboe@redhat.com>
    >
    > Static calls are a replacement for global function pointers. They use
    > code patching to allow direct calls to be used instead of indirect
    > calls. They give the flexibility of function pointers, but with
    > improved performance. This is especially important for cases where
    > retpolines would otherwise be used, as retpolines can significantly
    > impact performance.
    >
    > The concept and code are an extension of previous work done by Ard
    > Biesheuvel and Steven Rostedt:
    >
    > https://lkml.kernel.org/r/20181005081333.15018-1-ard.biesheuvel@linaro.org
    > https://lkml.kernel.org/r/20181006015110.653946300@goodmis.org
    >
    > There are two implementations, depending on arch support:
    >
    > 1) out-of-line: patched trampolines (CONFIG_HAVE_STATIC_CALL)
    > 2) basic function pointers
    >
    > For more details, see the comments in include/linux/static_call.h.
    >
    > [peterz: simplified interface]
    > Signed-off-by: Josh Poimboeuf <jpoimboe@redhat.com>
    > Signed-off-by: Peter Zijlstra (Intel) <peterz@infradead.org>

    Reviewed-by: Steven Rostedt (VMware) <rostedt@goodmis.org>

    -- Steve

    \
     
     \ /
      Last update: 2020-07-10 23:56    [W:4.102 / U:0.652 seconds]
    ©2003-2020 Jasper Spaans|hosted at Digital Ocean and TransIP|Read the blog|Advertise on this site