From: Greg Kroah-Hartman Date: Tue, 12 Mar 2013 21:52:30 +0000 (-0700) Subject: 3.0-stable patches X-Git-Tag: v3.8.3~14 X-Git-Url: http://git.ipfire.org/?a=commitdiff_plain;h=c552d86b983b8cc32ea5d441a66f798fe9d56ce2;p=thirdparty%2Fkernel%2Fstable-queue.git 3.0-stable patches added patches: ftrace-update-the-kconfig-for-dynamic_ftrace.patch --- diff --git a/queue-3.0/ftrace-update-the-kconfig-for-dynamic_ftrace.patch b/queue-3.0/ftrace-update-the-kconfig-for-dynamic_ftrace.patch new file mode 100644 index 00000000000..1c6f048f720 --- /dev/null +++ b/queue-3.0/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.0/series b/queue-3.0/series index 526c1be44af..8bb49a328bf 100644 --- a/queue-3.0/series +++ b/queue-3.0/series @@ -16,3 +16,4 @@ e1000e-fix-pci-device-enable-counter-balance.patch keys-fix-race-with-concurrent-install_user_keyrings.patch vfs-fix-pipe-counter-breakage.patch fix-memory-leak-in-cpufreq-stats.patch +ftrace-update-the-kconfig-for-dynamic_ftrace.patch