oneplus5: enable JUMP_LABEL

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 branchprediction
of the processor and generally makes the kernel faster.
The update of the condition is slower, but those are always
very rare.

Change-Id: I90657cf7ef3b9d116eb019da87dd62e1806e0e87
Signed-off-by: joshuous <joshuous@gmail.com>
This commit is contained in:
joshuous 2018-01-06 00:58:42 +08:00 committed by Timi
parent 6fb3b5e671
commit 3e66c13fde

View file

@ -220,7 +220,7 @@ CONFIG_SYSTEM_DATA_VERIFICATION=y
CONFIG_PROFILING=y
CONFIG_TRACEPOINTS=y
# CONFIG_KPROBES is not set
# CONFIG_JUMP_LABEL is not set
CONFIG_JUMP_LABEL=y
# CONFIG_UPROBES is not set
# CONFIG_HAVE_64BIT_ALIGNED_ACCESS is not set
CONFIG_HAVE_EFFICIENT_UNALIGNED_ACCESS=y