[PATCH v1 00/22] powerpc: ftrace optimisation and cleanup and more [v1]
Christophe Leroy
christophe.leroy at csgroup.eu
Fri Mar 25 01:29:50 AEDT 2022
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
More information about the Linuxppc-dev
mailing list