提交 a335358f 编写于 作者: I Ingo Molnar

Merge branch 'tip/perf/urgent' of...

Merge branch 'tip/perf/urgent' of git://git.kernel.org/pub/scm/linux/kernel/git/rostedt/linux-trace into perf/urgent

Pull an ftrace Kconfig help text fix from Steve Rostedt.
Signed-off-by: NIngo Molnar <mingo@kernel.org>
...@@ -429,24 +429,28 @@ config PROBE_EVENTS ...@@ -429,24 +429,28 @@ config PROBE_EVENTS
def_bool n def_bool n
config DYNAMIC_FTRACE config DYNAMIC_FTRACE
bool "enable/disable ftrace tracepoints dynamically" bool "enable/disable function tracing dynamically"
depends on FUNCTION_TRACER depends on FUNCTION_TRACER
depends on HAVE_DYNAMIC_FTRACE depends on HAVE_DYNAMIC_FTRACE
default y default y
help help
This option will modify all the calls to ftrace dynamically This option will modify all the calls to function tracing
(will patch them out of the binary image and replace them dynamically (will patch them out of the binary image and
with a No-Op instruction) as they are called. A table is replace them with a No-Op instruction) on boot up. During
created to dynamically enable them again. compile time, a table is made of all the locations that ftrace
can function trace, and this table is linked into the kernel
image. When this is enabled, functions can be individually
enabled, and the functions not enabled will not affect
performance of the system.
See the files in /sys/kernel/debug/tracing:
available_filter_functions
set_ftrace_filter
set_ftrace_notrace
This way a CONFIG_FUNCTION_TRACER kernel is slightly larger, but This way a CONFIG_FUNCTION_TRACER kernel is slightly larger, but
otherwise has native performance as long as no tracing is active. otherwise has native performance as long as no tracing is active.
The changes to the code are done by a kernel thread that
wakes up once a second and checks to see if any ftrace calls
were made. If so, it runs stop_machine (stops all CPUS)
and modifies the code to jump over the call to ftrace.
config DYNAMIC_FTRACE_WITH_REGS config DYNAMIC_FTRACE_WITH_REGS
def_bool y def_bool y
depends on DYNAMIC_FTRACE depends on DYNAMIC_FTRACE
......
Markdown is supported
0% .
You are about to add 0 people to the discussion. Proceed with caution.
先完成此消息的编辑!
想要评论请 注册