summaryrefslogtreecommitdiff
path: root/kernel/trace/Kconfig
blob: 892ecc94a82b62f2282523bfbf989c4e6d8f170b (plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
#
# Architectures that offer an FTRACE implementation should select HAVE_FTRACE:
#
config HAVE_FTRACE
	bool

config TRACER_MAX_TRACE
	bool

config TRACING
	bool
	select DEBUG_FS

config FTRACE
	bool "Kernel Function Tracer"
	depends on DEBUG_KERNEL && HAVE_FTRACE
	select FRAME_POINTER
	select TRACING
	select CONTEXT_SWITCH_TRACER
	help
	  Enable the kernel to trace every kernel function. This is done
	  by using a compiler feature to insert a small, 5-byte No-Operation
	  instruction to the beginning of every kernel function, which NOP
	  sequence is then dynamically patched into a tracer call when
	  tracing is enabled by the administrator. If it's runtime disabled
	  (the bootup default), then the overhead of the instructions is very
	  small and not measurable even in micro-benchmarks.

config SCHED_TRACER
	bool "Scheduling Latency Tracer"
	depends on DEBUG_KERNEL
	select TRACING
	select CONTEXT_SWITCH_TRACER
	select TRACER_MAX_TRACE
	help
	  This tracer tracks the latency of the highest priority task
	  to be scheduled in, starting from the point it has woken up.

config CONTEXT_SWITCH_TRACER
	bool "Trace process context switches"
	depends on DEBUG_KERNEL
	select TRACING
	select MARKERS
	help
	  This tracer gets called from the context switch and records
	  all switching of tasks.