diff options
Diffstat (limited to 'kernel/trace/Kconfig')
-rw-r--r-- | kernel/trace/Kconfig | 17 |
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 | ||
91 | config 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. | ||