aboutsummaryrefslogtreecommitdiffstats
path: root/arch/Kconfig
diff options
context:
space:
mode:
authorIngo Molnar <mingo@kernel.org>2012-04-14 07:18:27 -0400
committerIngo Molnar <mingo@kernel.org>2012-04-14 07:19:04 -0400
commit6ac1ef482d7ae0c690f1640bf6eb818ff9a2d91e (patch)
tree021cc9f6b477146fcebe6f3be4752abfa2ba18a9 /arch/Kconfig
parent682968e0c425c60f0dde37977e5beb2b12ddc4cc (diff)
parenta385ec4f11bdcf81af094c03e2444ee9b7fad2e5 (diff)
Merge branch 'perf/core' into perf/uprobes
Merge in latest upstream (and the latest perf development tree), to prepare for tooling changes, and also to pick up v3.4 MM changes that the uprobes code needs to take care of. Signed-off-by: Ingo Molnar <mingo@kernel.org>
Diffstat (limited to 'arch/Kconfig')
-rw-r--r--arch/Kconfig33
1 files changed, 25 insertions, 8 deletions
diff --git a/arch/Kconfig b/arch/Kconfig
index d0e37c9d5f6b..e5d3778d5554 100644
--- a/arch/Kconfig
+++ b/arch/Kconfig
@@ -47,18 +47,29 @@ config KPROBES
47 If in doubt, say "N". 47 If in doubt, say "N".
48 48
49config JUMP_LABEL 49config JUMP_LABEL
50 bool "Optimize trace point call sites" 50 bool "Optimize very unlikely/likely branches"
51 depends on HAVE_ARCH_JUMP_LABEL 51 depends on HAVE_ARCH_JUMP_LABEL
52 help 52 help
53 This option enables a transparent branch optimization that
54 makes certain almost-always-true or almost-always-false branch
55 conditions even cheaper to execute within the kernel.
56
57 Certain performance-sensitive kernel code, such as trace points,
58 scheduler functionality, networking code and KVM have such
59 branches and include support for this optimization technique.
60
53 If it is detected that the compiler has support for "asm goto", 61 If it is detected that the compiler has support for "asm goto",
54 the kernel will compile trace point locations with just a 62 the kernel will compile such branches with just a nop
55 nop instruction. When trace points are enabled, the nop will 63 instruction. When the condition flag is toggled to true, the
56 be converted to a jump to the trace function. This technique 64 nop will be converted to a jump instruction to execute the
57 lowers overhead and stress on the branch prediction of the 65 conditional block of instructions.
58 processor.
59 66
60 On i386, options added to the compiler flags may increase 67 This technique lowers overhead and stress on the branch prediction
61 the size of the kernel slightly. 68 of the processor and generally makes the kernel faster. The update
69 of the condition is slower, but those are always very rare.
70
71 ( On 32-bit x86, the necessary options added to the compiler
72 flags may increase the size of the kernel slightly. )
62 73
63config OPTPROBES 74config OPTPROBES
64 def_bool y 75 def_bool y
@@ -126,6 +137,9 @@ config HAVE_KRETPROBES
126 137
127config HAVE_OPTPROBES 138config HAVE_OPTPROBES
128 bool 139 bool
140
141config HAVE_NMI_WATCHDOG
142 bool
129# 143#
130# An arch should select this if it provides all these things: 144# An arch should select this if it provides all these things:
131# 145#
@@ -216,4 +230,7 @@ config HAVE_CMPXCHG_LOCAL
216config HAVE_CMPXCHG_DOUBLE 230config HAVE_CMPXCHG_DOUBLE
217 bool 231 bool
218 232
233config ARCH_WANT_OLD_COMPAT_IPC
234 bool
235
219source "kernel/gcov/Kconfig" 236source "kernel/gcov/Kconfig"