aboutsummaryrefslogtreecommitdiffstats
path: root/kernel/trace/Kconfig
diff options
context:
space:
mode:
Diffstat (limited to 'kernel/trace/Kconfig')
-rw-r--r--kernel/trace/Kconfig17
1 files changed, 17 insertions, 0 deletions
diff --git a/kernel/trace/Kconfig b/kernel/trace/Kconfig
index 6430016b98e8..cad9db1dee02 100644
--- a/kernel/trace/Kconfig
+++ b/kernel/trace/Kconfig
@@ -88,3 +88,20 @@ config CONTEXT_SWITCH_TRACER
88 This tracer gets called from the context switch and records 88 This tracer gets called from the context switch and records
89 all switching of tasks. 89 all switching of tasks.
90 90
91config DYNAMIC_FTRACE
92 bool "enable/disable ftrace tracepoints dynamically"
93 depends on FTRACE
94 default y
95 help
96 This option will modify all the calls to ftrace dynamically
97 (will patch them out of the binary image and replaces them
98 with a No-Op instruction) as they are called. A table is
99 created to dynamically enable them again.
100
101 This way a CONFIG_FTRACE kernel is slightly larger, but otherwise
102 has native performance as long as no tracing is active.
103
104 The changes to the code are done by a kernel thread that
105 wakes up once a second and checks to see if any ftrace calls
106 were made. If so, it runs stop_machine (stops all CPUS)
107 and modifies the code to jump over the call to ftrace.