From: Wu Zhangjin <wuzhangjin@xxxxxxxxx> This patchset adds misc fixups and cleanups for Ftrace of MIPS: + Fix the support of 32bit support with -mmcount-ra-address of gcc 4.5 o tracing: MIPS: mcount.S: Fix the argument passing of the 32bit support with gcc 4.5, The argument is passed by $12 in 32bit, not t0. o tracing: MIPS: Fixup of the 32bit support with -mmcount-ra-address For 32bit kernel, the offset of "b 1f" should be 5 instructions, not only 4. + Speedup the dynamic function tracer o tracing: MIPS: Reduce the overhead of dynamic Function Tracer In the old implementation, we have encode the 'nop' instruction and the instruction of calling to mcount at run-time, which may add some overhead. We reduce this overhead via encoding them when initializing the dynamic function tracer. + Lots of cleanups o The other patches. ---------------- v6 -> v7: o Apply the feedback from David Daney: define a macro MCOUNT_RA_ADDRESS_REG instead of the magic number $12 for the patch "tracing: MIPS: mcount.S: Fix the argument passing of the 32bit support with gcc 4.5" v5 -> v6: o splits up the old v5 revision into several patches to make the maintainer happier to review it. Regards, Wu Zhangjin Wu Zhangjin (9): tracing: MIPS: mcount.S: merge the same continuous #ifdefs tracing: MIPS: mcount.S: cleanup the arguments of prepare_ftrace_return tracing: MIPS: mcount.S: cleanup of the comments tracing: MIPS: mcount.S: Fix the argument passing of the 32bit support with gcc 4.5 tracing: MIPS: Fixup of the 32bit support with -mmcount-ra-address tracing: MIPS: cleanup of the instructions tracing: MIPS: Reduce the overhead of dynamic Function Tracer tracing: MIPS: cleanup of function graph tracer tracing: MIPS: cleanup of the address space checking arch/mips/kernel/ftrace.c | 184 +++++++++++++++++++++++++++------------------ arch/mips/kernel/mcount.S | 55 ++++++++----- 2 files changed, 146 insertions(+), 93 deletions(-)