Navigation: Linux Kernel Driver DataBase - web LKDDB: Main index - J index

CONFIG_JUMP_LABEL: Optimize very unlikely/likely branches

General informations

The Linux kernel configuration item CONFIG_JUMP_LABEL has multiple definitions:

Optimize very unlikely/likely branches found in arch/Kconfig

The configuration item CONFIG_JUMP_LABEL:

Help text

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 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. )

Optimize trace point call sites found in arch/Kconfig

The configuration item CONFIG_JUMP_LABEL:

Help text

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.

Hardware

LKDDb

Raw data from LKDDb:

Sources

This page is automaticly generated with free (libre, open) software lkddb(see lkddb-sources).

The data is retrived from:

Automatic links from Google (and ads)

Custom Search

Popular queries:

Navigation: Linux Kernel Driver DataBase - web LKDDB: main index - J index

Automatically generated (in year 2024). See also LKDDb sources on GitLab