aboutsummaryrefslogtreecommitdiffstats
path: root/arch
diff options
context:
space:
mode:
authorWu Zhangjin <wuzhangjin@gmail.com>2009-11-20 07:34:30 -0500
committerRalf Baechle <ralf@linux-mips.org>2009-12-16 20:57:22 -0500
commit69a7d1b3ec64786cfc8a16ef3e8585d1f93d3944 (patch)
tree543a4a531bb1e573984e8f855cd530748d05306d /arch
parentd2bb0762993e11363d8343127516b8fe88f9006f (diff)
MIPS: Tracing: Enable HAVE_FUNCTION_TRACE_MCOUNT_TEST for MIPS
There is an exisiting common ftrace_test_stop_func() in kernel/trace/ftrace.c, which is used to check the global variable ftrace_trace_stop to determine whether stop the function tracing. This patch implepment the MIPS specific one to speedup the procedure. Thanks goes to Zhang Le for Cleaning it up. Signed-off-by: Wu Zhangjin <wuzhangjin@gmail.com> Cc: Steven Rostedt <rostedt@goodmis.org> Cc: Nicholas Mc Guire <der.herr@hofr.at> Cc: zhangfx@lemote.com Cc: Wu Zhangjin <wuzhangjin@gmail.com> Cc: Ingo Molnar <mingo@elte.hu> Cc: Thomas Gleixner <tglx@linutronix.de> Cc: Frederic Weisbecker <fweisbec@gmail.com> Cc: linux-kernel@vger.kernel.org Cc: linux-mips@linux-mips.org Patchwork: http://patchwork.linux-mips.org/patch/673/ Signed-off-by: Ralf Baechle <ralf@linux-mips.org>
Diffstat (limited to 'arch')
-rw-r--r--arch/mips/Kconfig1
-rw-r--r--arch/mips/kernel/mcount.S3
2 files changed, 4 insertions, 0 deletions
diff --git a/arch/mips/Kconfig b/arch/mips/Kconfig
index 632dba2ac300..d203dbfa8037 100644
--- a/arch/mips/Kconfig
+++ b/arch/mips/Kconfig
@@ -6,6 +6,7 @@ config MIPS
6 select HAVE_OPROFILE 6 select HAVE_OPROFILE
7 select HAVE_ARCH_KGDB 7 select HAVE_ARCH_KGDB
8 select HAVE_FUNCTION_TRACER 8 select HAVE_FUNCTION_TRACER
9 select HAVE_FUNCTION_TRACE_MCOUNT_TEST
9 # Horrible source of confusion. Die, die, die ... 10 # Horrible source of confusion. Die, die, die ...
10 select EMBEDDED 11 select EMBEDDED
11 select RTC_LIB if !MACH_LOONGSON 12 select RTC_LIB if !MACH_LOONGSON
diff --git a/arch/mips/kernel/mcount.S b/arch/mips/kernel/mcount.S
index cebcc3c11305..cbb45edad464 100644
--- a/arch/mips/kernel/mcount.S
+++ b/arch/mips/kernel/mcount.S
@@ -59,6 +59,9 @@
59 .endm 59 .endm
60 60
61NESTED(_mcount, PT_SIZE, ra) 61NESTED(_mcount, PT_SIZE, ra)
62 lw t0, function_trace_stop
63 bnez t0, ftrace_stub
64 nop
62 PTR_LA t0, ftrace_stub 65 PTR_LA t0, ftrace_stub
63 PTR_L t1, ftrace_trace_function /* Prepare t1 for (1) */ 66 PTR_L t1, ftrace_trace_function /* Prepare t1 for (1) */
64 bne t0, t1, static_trace 67 bne t0, t1, static_trace