This series provides optimisation and cleanup of ftrace on powerpc. With this series ftrace activation is about 20% faster on an 8xx.
At the end of the series come additional cleanups around ppc-opcode, that would likely conflict with this series if posted separately. Christophe Leroy (22): powerpc/ftrace: Refactor prepare_ftrace_return() powerpc/ftrace: Remove redundant create_branch() calls powerpc/code-patching: Inline is_offset_in_{cond}_branch_range() powerpc/ftrace: Use is_offset_in_branch_range() powerpc/code-patching: Inline create_branch() powerpc/ftrace: Inline ftrace_modify_code() powerpc/ftrace: Use patch_instruction() return directly powerpc/ftrace: Make __ftrace_make_{nop/call}() common to PPC32 and PPC64 powerpc/ftrace: Don't include ftrace.o for CONFIG_FTRACE_SYSCALLS powerpc/ftrace: Use CONFIG_FUNCTION_TRACER instead of CONFIG_DYNAMIC_FTRACE powerpc/ftrace: Remove ftrace_plt_tramps[] powerpc/ftrace: Use BRANCH_SET_LINK instead of value 1 powerpc/ftrace: Use PPC_RAW_xxx() macros instead of opencoding. powerpc/ftrace: Use size macro instead of opencoding powerpc/ftrace: Simplify expected_nop_sequence() powerpc/ftrace: Minimise number of #ifdefs powerpc/inst: Add __copy_inst_from_kernel_nofault() powerpc/ftrace: Don't use copy_from_kernel_nofault() in module_trampoline_target() powerpc/inst: Remove PPC_INST_BRANCH powerpc/modules: Use PPC_INST_BRANCH_MASK instead of opencoding powerpc/inst: Remove PPC_INST_BL powerpc/opcodes: Remove unused PPC_INST_XXX macros arch/powerpc/include/asm/book3s/32/pgtable.h | 2 +- arch/powerpc/include/asm/book3s/64/pgtable.h | 2 +- arch/powerpc/include/asm/code-patching.h | 53 ++- arch/powerpc/include/asm/inst.h | 13 +- arch/powerpc/include/asm/module.h | 6 +- arch/powerpc/include/asm/nohash/pgtable.h | 2 +- arch/powerpc/include/asm/ppc-opcode.h | 20 +- arch/powerpc/include/asm/sections.h | 24 +- arch/powerpc/kernel/module_32.c | 29 +- arch/powerpc/kernel/module_64.c | 10 +- arch/powerpc/kernel/trace/Makefile | 5 +- arch/powerpc/kernel/trace/ftrace.c | 390 ++++++------------- arch/powerpc/lib/code-patching.c | 47 --- arch/powerpc/lib/feature-fixups.c | 2 +- arch/powerpc/net/bpf_jit.h | 2 +- 15 files changed, 229 insertions(+), 378 deletions(-) -- 2.35.1