linux/arch
Wu Zhangjin d2bb076299 MIPS: Tracing: Add static function tracer support for MIPS
If -pg of gcc is enabled with CONFIG_FUNCTION_TRACER=y. a calling to
_mcount will be inserted into each kernel function. so, there is a
possibility to trace the kernel functions in _mcount.

This patch add the MIPS specific _mcount support for static function
tracing. by default, ftrace_trace_function is initialized as
ftrace_stub(an empty function), so, the default _mcount will introduce
very little overhead. after enabling ftrace in user-space, it will jump
to a real tracing function and do static function tracing for us.

and -ffunction-sections is incompatible with -pg, so, disable it when
ftracer is enabled.

Signed-off-by: Wu Zhangjin <wuzhangjin@gmail.com>
Reviewed-by: 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/672/
Signed-off-by: Ralf Baechle <ralf@linux-mips.org>
2009-12-17 01:57:21 +00:00
..
alpha elf: kill USE_ELF_CORE_DUMP 2009-12-16 07:20:12 -08:00
arm Merge branch 'module' of git://git.kernel.org/pub/scm/linux/kernel/git/rusty/linux-2.6-for-linus 2009-12-16 10:47:24 -08:00
avr32 elf: kill USE_ELF_CORE_DUMP 2009-12-16 07:20:12 -08:00
blackfin Merge branch 'for-linus' of git://git.kernel.org/pub/scm/linux/kernel/git/vapier/blackfin 2009-12-16 10:52:35 -08:00
cris elf: kill USE_ELF_CORE_DUMP 2009-12-16 07:20:12 -08:00
frv elf: kill USE_ELF_CORE_DUMP 2009-12-16 07:20:12 -08:00
h8300 Merge branch 'module' of git://git.kernel.org/pub/scm/linux/kernel/git/rusty/linux-2.6-for-linus 2009-12-16 10:47:24 -08:00
ia64 Merge branch 'master' of git://git.kernel.org/pub/scm/linux/kernel/git/viro/vfs-2.6 2009-12-16 12:04:02 -08:00
m32r elf: kill USE_ELF_CORE_DUMP 2009-12-16 07:20:12 -08:00
m68k elf: kill USE_ELF_CORE_DUMP 2009-12-16 07:20:12 -08:00
m68knommu Unify sys_mmap* 2009-12-11 06:44:29 -05:00
microblaze elf: kill USE_ELF_CORE_DUMP 2009-12-16 07:20:12 -08:00
mips MIPS: Tracing: Add static function tracer support for MIPS 2009-12-17 01:57:21 +00:00
mn10300 elf: kill USE_ELF_CORE_DUMP 2009-12-16 07:20:12 -08:00
parisc Merge branch 'master' of git://git.kernel.org/pub/scm/linux/kernel/git/viro/vfs-2.6 2009-12-16 12:04:02 -08:00
powerpc Merge branch 'next' of git://git.secretlab.ca/git/linux-2.6 2009-12-16 13:26:53 -08:00
s390 elf: kill USE_ELF_CORE_DUMP 2009-12-16 07:20:12 -08:00
score elf: kill USE_ELF_CORE_DUMP 2009-12-16 07:20:12 -08:00
sh Merge git://git.kernel.org/pub/scm/linux/kernel/git/lethal/sh-2.6 2009-12-16 10:29:52 -08:00
sparc Merge branch 'module' of git://git.kernel.org/pub/scm/linux/kernel/git/rusty/linux-2.6-for-linus 2009-12-16 10:47:24 -08:00
um elf: kill USE_ELF_CORE_DUMP 2009-12-16 07:20:12 -08:00
x86 Merge branch 'release' of git://git.kernel.org/pub/scm/linux/kernel/git/lenb/linux-acpi-2.6 2009-12-16 12:33:19 -08:00
xtensa Merge branch 'master' of git://git.kernel.org/pub/scm/linux/kernel/git/viro/vfs-2.6 2009-12-16 12:04:02 -08:00
.gitignore
Kconfig Merge branch 'kvm-updates/2.6.33' of git://git.kernel.org/pub/scm/virt/kvm/kvm 2009-12-08 08:02:38 -08:00