lkml.org 
[lkml]   [2012]   [Feb]   [22]   [last100]   RSS Feed
Views: [wrap][no wrap]   [headers]  [forward] 
 
Messages in this thread
    Patch in this message
    /
    Date
    From
    Subject[PATCH] jump labels: Explain the .config option better

    - update the help text as it's not only about trace points anymore

    - explain the functional effects of the option prominently,
    treating the implementational details as a second level of
    information

    Additionally we might also consider renaming CONFIG_JUMP_LABEL
    to:

    CONFIG_OPTIMIZE_STATIC_BRANCHES=y

    or so, to make it clearer what it's all really about and makes
    it part of the family of similarly named optimizations - but I'm
    not too concerned about that, as CONFIG_JUMP_LABEL does not
    appear in actual static-key usage sites.

    Signed-off-by: Ingo Molnar <mingo@elte.hu>
    ---
    arch/Kconfig | 27 +++++++++++++++++++--------
    1 files changed, 19 insertions(+), 8 deletions(-)

    diff --git a/arch/Kconfig b/arch/Kconfig
    index 4f55c73..5b448a7 100644
    --- a/arch/Kconfig
    +++ b/arch/Kconfig
    @@ -47,18 +47,29 @@ config KPROBES
    If in doubt, say "N".

    config JUMP_LABEL
    - bool "Optimize trace point call sites"
    + bool "Optimize very unlikely/likely branches"
    depends on HAVE_ARCH_JUMP_LABEL
    help
    + This option enables a transparent branch optimization that
    + makes certain almost-always-true or almost-always-false branch
    + conditions even cheaper to execute within the kernel.
    +
    + Certain performance-sensitive kernel code, such as trace points,
    + scheduler functionality, networking code and KVM have such
    + branches and include support for this optimization technique.
    +
    If it is detected that the compiler has support for "asm goto",
    - the kernel will compile trace point locations with just a
    - nop instruction. When trace points are enabled, the nop will
    - be converted to a jump to the trace function. This technique
    - lowers overhead and stress on the branch prediction of the
    - processor.
    -
    - On i386, options added to the compiler flags may increase
    - the size of the kernel slightly.
    + the kernel will compile such branches with just a nop
    + instruction. When the condition flag is toggled to true, the
    + nop will be converted to a jump instruction to execute the
    + conditional block of instructions.
    +
    + This technique lowers overhead and stress on the branch prediction
    + of the processor and generally makes the kernel faster. The update
    + of the condition is slower, but those are always very rare.
    +
    + ( On 32-bit x86, the necessary options added to the compiler
    + flags may increase the size of the kernel slightly. )

    config OPTPROBES
    def_bool y

    \
     
     \ /
      Last update: 2012-02-22 10:05    [W:0.023 / U:120.904 seconds]
    ©2003-2016 Jasper Spaans. hosted at Digital OceanAdvertise on this site