[PATCH -v5 00/11] ftrace for MIPS

Wu Zhangjin
2009-10-25T15:17:13Z

Under the help of the -mlong-calls option of gcc, This revision comes with the
module tracing support. and there are also lots of cleanups and fixes.
therefore, it is ready to upstream.

Currently, function graph tracer support have some overhead for searching the
stack address of the return address(ra). we hope the PROFILE_BEFORE_PROLOGUE
macro will be enabled by default in the next version of gcc, and then the
overhead can be removed via hijacking the ra register directly for both
non-leaf and leaf function.

Thanks very much to the people in the CC list for their feedbacks, all the
lastest changes goes to this git repo:

git://dev.lemote.com/rt4ls.git linux-mips/dev/ftrace-upstream

Welcome to play with it and give more feedbacks.

Thanks & Regards,
Wu Zhangjin

Wu Zhangjin (11):
tracing: convert trace_clock_local() as weak function
MIPS: add mips_timecounter_read() to get high precision timestamp
tracing: add MIPS specific trace_clock_local()
tracing: add static function tracer support for MIPS
tracing: enable HAVE_FUNCTION_TRACE_MCOUNT_TEST for MIPS
tracing: add an endian argument to scripts/recordmcount.pl
tracing: add dynamic function tracer support for MIPS
tracing: not trace mips_timecounter_init() in MIPS
tracing: add IRQENTRY_EXIT for MIPS
tracing: add function graph tracer support for MIPS
tracing: add dynamic function graph tracer for MIPS

arch/mips/Kconfig | 5 +
arch/mips/Makefile | 4 +
arch/mips/include/asm/ftrace.h | 37 ++++++++-
arch/mips/include/asm/time.h | 19 ++++
arch/mips/kernel/Makefile | 9 ++
arch/mips/kernel/csrc-r4k.c | 41 +++++++++
arch/mips/kernel/ftrace.c | 190 ++++++++++++++++++++++++++++++++++++++++
arch/mips/kernel/mcount.S | 177 +++++++++++++++++++++++++++++++++++++
arch/mips/kernel/mips_ksyms.c | 5 +
arch/mips/kernel/time.c | 2 +
arch/mips/kernel/trace_clock.c | 33 +++++++
arch/mips/kernel/vmlinux.lds.S | 1 +
include/linux/clocksource.h | 2 +-
kernel/time/clocksource.c | 4 +-
kernel/trace/trace_clock.c | 2 +-
scripts/Makefile.build | 1 +
scripts/recordmcount.pl | 44 +++++++++-
17 files changed, 568 insertions(+), 8 deletions(-)
create mode 100644 arch/mips/kernel/ftrace.c
create mode 100644 arch/mips/kernel/mcount.S
create mode 100644 arch/mips/kernel/trace_clock.c