aboutsummaryrefslogtreecommitdiffstats
path: root/kernel/trace/Kconfig
diff options
context:
space:
mode:
Diffstat (limited to 'kernel/trace/Kconfig')
-rw-r--r--kernel/trace/Kconfig72
1 files changed, 68 insertions, 4 deletions
diff --git a/kernel/trace/Kconfig b/kernel/trace/Kconfig
index 34e707e5ab87..07877f4b5233 100644
--- a/kernel/trace/Kconfig
+++ b/kernel/trace/Kconfig
@@ -9,6 +9,9 @@ config USER_STACKTRACE_SUPPORT
9config NOP_TRACER 9config NOP_TRACER
10 bool 10 bool
11 11
12config HAVE_FTRACE_NMI_ENTER
13 bool
14
12config HAVE_FUNCTION_TRACER 15config HAVE_FUNCTION_TRACER
13 bool 16 bool
14 17
@@ -37,6 +40,11 @@ config TRACER_MAX_TRACE
37config RING_BUFFER 40config RING_BUFFER
38 bool 41 bool
39 42
43config FTRACE_NMI_ENTER
44 bool
45 depends on HAVE_FTRACE_NMI_ENTER
46 default y
47
40config TRACING 48config TRACING
41 bool 49 bool
42 select DEBUG_FS 50 select DEBUG_FS
@@ -127,6 +135,7 @@ config SYSPROF_TRACER
127 bool "Sysprof Tracer" 135 bool "Sysprof Tracer"
128 depends on X86 136 depends on X86
129 select TRACING 137 select TRACING
138 select CONTEXT_SWITCH_TRACER
130 help 139 help
131 This tracer provides the trace needed by the 'Sysprof' userspace 140 This tracer provides the trace needed by the 'Sysprof' userspace
132 tool. 141 tool.
@@ -165,9 +174,8 @@ config BOOT_TRACER
165 representation of the delays during initcalls - but the raw 174 representation of the delays during initcalls - but the raw
166 /debug/tracing/trace text output is readable too. 175 /debug/tracing/trace text output is readable too.
167 176
168 ( Note that tracing self tests can't be enabled if this tracer is 177 You must pass in ftrace=initcall to the kernel command line
169 selected, because the self-tests are an initcall as well and that 178 to enable this on bootup.
170 would invalidate the boot trace. )
171 179
172config TRACE_BRANCH_PROFILING 180config TRACE_BRANCH_PROFILING
173 bool "Trace likely/unlikely profiler" 181 bool "Trace likely/unlikely profiler"
@@ -266,6 +274,62 @@ config HW_BRANCH_TRACER
266 This tracer records all branches on the system in a circular 274 This tracer records all branches on the system in a circular
267 buffer giving access to the last N branches for each cpu. 275 buffer giving access to the last N branches for each cpu.
268 276
277config KMEMTRACE
278 bool "Trace SLAB allocations"
279 select TRACING
280 help
281 kmemtrace provides tracing for slab allocator functions, such as
282 kmalloc, kfree, kmem_cache_alloc, kmem_cache_free etc.. Collected
283 data is then fed to the userspace application in order to analyse
284 allocation hotspots, internal fragmentation and so on, making it
285 possible to see how well an allocator performs, as well as debug
286 and profile kernel code.
287
288 This requires an userspace application to use. See
289 Documentation/vm/kmemtrace.txt for more information.
290
291 Saying Y will make the kernel somewhat larger and slower. However,
292 if you disable kmemtrace at run-time or boot-time, the performance
293 impact is minimal (depending on the arch the kernel is built for).
294
295 If unsure, say N.
296
297config WORKQUEUE_TRACER
298 bool "Trace workqueues"
299 select TRACING
300 help
301 The workqueue tracer provides some statistical informations
302 about each cpu workqueue thread such as the number of the
303 works inserted and executed since their creation. It can help
304 to evaluate the amount of work each of them have to perform.
305 For example it can help a developer to decide whether he should
306 choose a per cpu workqueue instead of a singlethreaded one.
307
308config BLK_DEV_IO_TRACE
309 bool "Support for tracing block io actions"
310 depends on SYSFS
311 depends on BLOCK
312 select RELAY
313 select DEBUG_FS
314 select TRACEPOINTS
315 select TRACING
316 select STACKTRACE
317 help
318 Say Y here if you want to be able to trace the block layer actions
319 on a given queue. Tracing allows you to see any traffic happening
320 on a block device queue. For more information (and the userspace
321 support tools needed), fetch the blktrace tools from:
322
323 git://git.kernel.dk/blktrace.git
324
325 Tracing also is possible using the ftrace interface, e.g.:
326
327 echo 1 > /sys/block/sda/sda1/trace/enable
328 echo blk > /sys/kernel/debug/tracing/current_tracer
329 cat /sys/kernel/debug/tracing/trace_pipe
330
331 If unsure, say N.
332
269config DYNAMIC_FTRACE 333config DYNAMIC_FTRACE
270 bool "enable/disable ftrace tracepoints dynamically" 334 bool "enable/disable ftrace tracepoints dynamically"
271 depends on FUNCTION_TRACER 335 depends on FUNCTION_TRACER
@@ -296,7 +360,7 @@ config FTRACE_SELFTEST
296 360
297config FTRACE_STARTUP_TEST 361config FTRACE_STARTUP_TEST
298 bool "Perform a startup test on ftrace" 362 bool "Perform a startup test on ftrace"
299 depends on TRACING && DEBUG_KERNEL && !BOOT_TRACER 363 depends on TRACING && DEBUG_KERNEL
300 select FTRACE_SELFTEST 364 select FTRACE_SELFTEST
301 help 365 help
302 This option performs a series of startup tests on ftrace. On bootup 366 This option performs a series of startup tests on ftrace. On bootup