From 36130e179e2b6013d9e1354f253f2da4221c68ca Mon Sep 17 00:00:00 2001 From: Greg Kroah-Hartman Date: Tue, 12 Mar 2013 14:52:36 -0700 Subject: [PATCH] 3.8-stable patches added patches: ftrace-update-the-kconfig-for-dynamic_ftrace.patch --- ...pdate-the-kconfig-for-dynamic_ftrace.patch | 75 +++++++++++++++++++ queue-3.8/series | 1 + 2 files changed, 76 insertions(+) create mode 100644 queue-3.8/ftrace-update-the-kconfig-for-dynamic_ftrace.patch diff --git a/queue-3.8/ftrace-update-the-kconfig-for-dynamic_ftrace.patch b/queue-3.8/ftrace-update-the-kconfig-for-dynamic_ftrace.patch new file mode 100644 index 00000000000..6fc41a6aa61 --- /dev/null +++ b/queue-3.8/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 +@@ -416,24 +416,28 @@ config PROBE_EVENTS + def_bool n + + 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.8/series b/queue-3.8/series index 95f95f77830..039df3cc333 100644 --- a/queue-3.8/series +++ b/queue-3.8/series @@ -89,3 +89,4 @@ gpio-mvebu-add-clk-support-to-prevent-lockup.patch arm-mxs_defconfig-make-usb-host-functional-again.patch arm-kirkwood-of_serial-fix-clock-gating-by-removing-clock-frequency.patch powerpc-apply-early-paca-fixups-to-boot_paca-and-the-boot-cpu-s-paca.patch +ftrace-update-the-kconfig-for-dynamic_ftrace.patch -- 2.47.3