From: Greg Kroah-Hartman Date: Tue, 12 Mar 2013 21:52:34 +0000 (-0700) Subject: 3.4-stable patches X-Git-Tag: v3.8.3~13 X-Git-Url: http://git.ipfire.org/?a=commitdiff_plain;h=7bf6dec65a2ad66e86c2d44a0368435f70757556;p=thirdparty%2Fkernel%2Fstable-queue.git 3.4-stable patches added patches: ftrace-update-the-kconfig-for-dynamic_ftrace.patch --- diff --git a/queue-3.4/ftrace-update-the-kconfig-for-dynamic_ftrace.patch b/queue-3.4/ftrace-update-the-kconfig-for-dynamic_ftrace.patch new file mode 100644 index 00000000000..1c6f048f720 --- /dev/null +++ b/queue-3.4/ftrace-update-the-kconfig-for-dynamic_ftrace.patch @@ -0,0 +1,75 @@ +From db05021d49a994ee40a9735d9c3cb0060c9babb8 Mon Sep 17 00:00:00 2001 +From: Steven Rostedt +Date: Wed, 27 Feb 2013 21:48:09 -0500 +Subject: ftrace: Update the kconfig for DYNAMIC_FTRACE + +From: Steven Rostedt + +commit db05021d49a994ee40a9735d9c3cb0060c9babb8 upstream. + +The prompt to enable DYNAMIC_FTRACE (the ability to nop and +enable function tracing at run time) had a confusing statement: + + "enable/disable ftrace tracepoints dynamically" + +This was written before tracepoints were added to the kernel, +but now that tracepoints have been added, this is very confusing +and has confused people enough to give wrong information during +presentations. + +Not only that, I looked at the help text, and it still references +that dreaded daemon that use to wake up once a second to update +the nop locations and brick NICs, that hasn't been around for over +five years. + +Time to bring the text up to the current decade. + +Reported-by: Ezequiel Garcia +Signed-off-by: Steven Rostedt +Signed-off-by: Greg Kroah-Hartman + +--- + kernel/trace/Kconfig | 24 ++++++++++++++---------- + 1 file changed, 14 insertions(+), 10 deletions(-) + +--- a/kernel/trace/Kconfig ++++ b/kernel/trace/Kconfig +@@ -386,24 +386,28 @@ config KPROBE_EVENT + If you want to use perf tools, this option is strongly recommended. + + config DYNAMIC_FTRACE +- bool "enable/disable ftrace tracepoints dynamically" ++ bool "enable/disable function tracing dynamically" + depends on FUNCTION_TRACER + depends on HAVE_DYNAMIC_FTRACE + default y + help +- This option will modify all the calls to ftrace dynamically +- (will patch them out of the binary image and replace them +- with a No-Op instruction) as they are called. A table is +- created to dynamically enable them again. ++ This option will modify all the calls to function tracing ++ dynamically (will patch them out of the binary image and ++ replace them with a No-Op instruction) on boot up. During ++ 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 + 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 FUNCTION_PROFILER + bool "Kernel function profiler" + depends on FUNCTION_TRACER diff --git a/queue-3.4/series b/queue-3.4/series index 4bcaefc2e95..43bbd18c6a8 100644 --- a/queue-3.4/series +++ b/queue-3.4/series @@ -32,3 +32,4 @@ fix-compat_rw_copy_check_uvector-misuse-in-aio-readv-writev-and-security-keys.pa vfs-fix-pipe-counter-breakage.patch rtc-rtc-mv-add-support-for-clk-to-avoid-lockups.patch fix-memory-leak-in-cpufreq-stats.patch +ftrace-update-the-kconfig-for-dynamic_ftrace.patch