]> git.ipfire.org Git - thirdparty/kernel/stable-queue.git/commitdiff
3.0-stable patches
authorGreg Kroah-Hartman <gregkh@linuxfoundation.org>
Tue, 12 Mar 2013 21:52:30 +0000 (14:52 -0700)
committerGreg Kroah-Hartman <gregkh@linuxfoundation.org>
Tue, 12 Mar 2013 21:52:30 +0000 (14:52 -0700)
added patches:
ftrace-update-the-kconfig-for-dynamic_ftrace.patch

queue-3.0/ftrace-update-the-kconfig-for-dynamic_ftrace.patch [new file with mode: 0644]
queue-3.0/series

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 (file)
index 0000000..1c6f048
--- /dev/null
@@ -0,0 +1,75 @@
+From db05021d49a994ee40a9735d9c3cb0060c9babb8 Mon Sep 17 00:00:00 2001
+From: Steven Rostedt <srostedt@redhat.com>
+Date: Wed, 27 Feb 2013 21:48:09 -0500
+Subject: ftrace: Update the kconfig for DYNAMIC_FTRACE
+
+From: Steven Rostedt <srostedt@redhat.com>
+
+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 <elezegarcia@gmail.com>
+Signed-off-by: Steven Rostedt <rostedt@goodmis.org>
+Signed-off-by: Greg Kroah-Hartman <gregkh@linuxfoundation.org>
+
+---
+ 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
index 526c1be44afcb55f138c91300bb74fb46bf6960d..8bb49a328bf22bfd99eb037882a0d26c7c85137a 100644 (file)
@@ -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