From: Wu Zhangjin <wuzhangjin@gmail.com>
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(-)
|