This is v4 of the patches posted at: https://www.mail-archive.com/linuxppc-dev@lists.ozlabs.org/msg130739.html
This series has been tested using mambo for p8 (hash) and p9 (radix). v4 changes: - flip the paca field from 'ftrace_disabled' to 'ftrace_enabled' to signify a default disable policy to address early boot - add and use helpers to disable/enable ftrace, which addresses 32-bit build issues - a new patch to address issues with function_graph tracing during cpu hotplug. The last three patches are unchanged from the previous series, for the most part (except for the ftrace_disabled -> ftrace_enabled adjustment). The last two patches implement support for ftrace_caller() to conditionally save the register state. This speeds up the function tracer a bit. The existing ftrace_caller() is renamed to ftrace_regs_caller() since we save the entire pt_regs today. A new implementation of ftrace_caller() that saves the minimum register state is provided. We switch between the two variants through ftrace_modify_call(). The necessary support to call into the two different variants from modules is also added. - Naveen Naveen N. Rao (10): powerpc64/ftrace: Add a field in paca to disable ftrace in unsafe code paths powerpc64/ftrace: Disable ftrace during kvm guest entry/exit powerpc64/ftrace: Rearrange #ifdef sections in ftrace.h powerpc64/ftrace: Add helpers to hard disable ftrace powerpc64/ftrace: Delay enabling ftrace on secondary cpus powerpc64/ftrace: Disable ftrace during hotplug powerpc64/kexec: Hard disable ftrace before switching to the new kernel powerpc64/module: Tighten detection of mcount call sites with -mprofile-kernel powerpc64/ftrace: Use the generic version of ftrace_replace_code() powerpc64/ftrace: Implement support for ftrace_regs_caller() arch/powerpc/include/asm/ftrace.h | 27 +++- arch/powerpc/include/asm/module.h | 3 + arch/powerpc/include/asm/paca.h | 1 + arch/powerpc/kernel/asm-offsets.c | 1 + arch/powerpc/kernel/machine_kexec.c | 2 + arch/powerpc/kernel/module_64.c | 43 +++-- arch/powerpc/kernel/setup_64.c | 7 + arch/powerpc/kernel/smp.c | 12 ++ arch/powerpc/kernel/trace/ftrace.c | 210 ++++++++++++++++++++----- arch/powerpc/kernel/trace/ftrace_64_mprofile.S | 85 +++++++++- arch/powerpc/kernel/trace/ftrace_64_pg.S | 4 + arch/powerpc/kvm/book3s_hv_rmhandlers.S | 8 + 12 files changed, 336 insertions(+), 67 deletions(-) -- 2.16.2