MIPS: Tracing: Enable HAVE_FUNCTION_TRACE_MCOUNT_TEST for MIPS
authorWu Zhangjin <wuzhangjin@gmail.com>
Fri, 20 Nov 2009 12:34:30 +0000 (20:34 +0800)
committerRalf Baechle <ralf@linux-mips.org>
Thu, 17 Dec 2009 01:57:22 +0000 (01:57 +0000)
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>
arch/mips/Kconfig
arch/mips/kernel/mcount.S

index 632dba2..d203dbf 100644 (file)
@@ -6,6 +6,7 @@ config MIPS
        select HAVE_OPROFILE
        select HAVE_ARCH_KGDB
        select HAVE_FUNCTION_TRACER
+       select HAVE_FUNCTION_TRACE_MCOUNT_TEST
        # Horrible source of confusion.  Die, die, die ...
        select EMBEDDED
        select RTC_LIB if !MACH_LOONGSON
index cebcc3c..cbb45ed 100644 (file)
@@ -59,6 +59,9 @@
        .endm
 
 NESTED(_mcount, PT_SIZE, ra)
+       lw      t0, function_trace_stop
+       bnez    t0, ftrace_stub
+        nop
        PTR_LA  t0, ftrace_stub
        PTR_L   t1, ftrace_trace_function /* Prepare t1 for (1) */
        bne     t0, t1, static_trace