diff options
author | Wu Zhangjin <wuzhangjin@gmail.com> | 2009-11-20 07:34:30 -0500 |
---|---|---|
committer | Ralf Baechle <ralf@linux-mips.org> | 2009-12-16 20:57:22 -0500 |
commit | 69a7d1b3ec64786cfc8a16ef3e8585d1f93d3944 (patch) | |
tree | 543a4a531bb1e573984e8f855cd530748d05306d /arch/mips | |
parent | d2bb0762993e11363d8343127516b8fe88f9006f (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/mips')
-rw-r--r-- | arch/mips/Kconfig | 1 | ||||
-rw-r--r-- | arch/mips/kernel/mcount.S | 3 |
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 | ||
61 | NESTED(_mcount, PT_SIZE, ra) | 61 | NESTED(_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 |