This patch add basic ftrace support for MIPS, it is on the -v4 revision. which incorporates the feedbacks from Steven, Ralf, Nicholas, Thomas, Américo Wang, Zhang Le and Sergei Shtylyov. thanks goes to them! It includes the following parts: 1. mips specific high precision of trace_clock_local() support It is based on the clock counter register, and can provide us precision timestamp. the old one is jiffies based, only provide ms precision. 2. mips specific static, dynamic, graph function tracer support all of them support 32bit/64bit kernel, but not support modules yet(Steven will help to fix this part! thanks goes to him). but if you want to have a quick try on using module with static function tracer, you just need to add -mlong-calls to KBUILD_CFLAGS. All of the latest upgrade will be put into this git repo. git://dev.lemote.com/rt4ls.git linux-mips/dev/ftrace-upstream Welcome to play with it and give feedback, thanks! Regards, Wu Zhangjin Wu Zhangjin (9): 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 function graph tracer support for MIPS arch/mips/Kconfig | 5 + arch/mips/Makefile | 2 + arch/mips/include/asm/ftrace.h | 35 +++++- arch/mips/include/asm/time.h | 19 +++ arch/mips/kernel/Makefile | 9 ++ arch/mips/kernel/csrc-r4k.c | 41 ++++++ arch/mips/kernel/ftrace.c | 299 ++++++++++++++++++++++++++++++++++++++++ arch/mips/kernel/mcount.S | 182 ++++++++++++++++++++++++ arch/mips/kernel/mips_ksyms.c | 5 + arch/mips/kernel/time.c | 2 + arch/mips/kernel/trace_clock.c | 37 +++++ 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 | 28 ++++- 17 files changed, 666 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