RFC powerpc/ftrace: refactoring and support for -fpatchable-function-entry
Get series with b4
b4 am [email protected]Versions newest first
- v1 RFC Latest15 patches 0 repliesNew
Patches in v1 No applies recorded yet
| # | Subject and files | Size | Replies | Applied |
|---|---|---|---|---|
| 1/15 | powerpc/module: Remove unused .ftrace.tramp sectionarch/ | +0 | 0 replies | |
| 2/15 | powerpc64/ftrace: Move ELFv1 and -pg support code into a separate filearch/ arch/ arch/ | +855 | 0 replies | |
| 3/15 | powerpc/ftrace: Simplify function_graph support in ftrace.carch/ | +7 | 0 replies | |
| 4/15 | powerpc/ftrace: Use FTRACE_REGS_ADDR to identify the correct ftrace trampolinearch/ | +1 | 0 replies | |
| 5/15 | powerpc/ftrace: Extend ftrace support for large kernels to ppc32arch/ arch/ arch/ +2 more | +32 | 0 replies | |
| 6/15 | powerpc/ftrace: Consolidate ftrace support into fewer filesarch/ arch/ arch/ +2 more | +130 | 0 replies | |
| 7/15 | powerpc/ftrace: Refactor ftrace_modify_code()arch/ | +29 | 0 replies | |
| 8/15 | powerpc/ftrace: Stop re-purposing linker generated long branches for ftracearch/ | +17 | 0 replies | |
| 9/15 | powerpc/ftrace: Add separate ftrace_init_nop() with additional validationarch/ arch/ | +77 | 0 replies | |
| 10/15 | powerpc/ftrace: Simplify ftrace_make_nop()arch/ | +32 | 0 replies | |
| 11/15 | powerpc/ftrace: Simplify ftrace_make_call()arch/ | +31 | 0 replies | |
| 12/15 | powerpc/ftrace: Simplify ftrace_modify_call()arch/ | +21 | 0 replies | |
| 13/15 | powerpc/ftrace: Replace use of ftrace_call_replace() with ftrace_create_branch_inst()arch/ | +2 | 0 replies | |
| 14/15 | powerpc/ftrace: Implement ftrace_replace_code()arch/ | +96 | 0 replies | |
| 15/15 | powerpc/ftrace: Add support for -fpatchable-function-entryarch/ arch/ arch/ +5 more | +64 | 0 replies |
Reviews trailers per patch
No Reviewed-by, Acked-by or Tested-by trailers for v1 yet.
Cover letter [RFC PATCH 00/15] powerpc/ftrace: refactoring and support for -fpatchable-function-entry
This is a follow-on RFC to the patch I previously posted here:
http://lore.kernel.org/[email protected]
Since then, I have split up the patches, picked up a few more changes and given this more testing. More details in the individual patches.
- Naveen
Naveen N Rao (15):
powerpc/module: Remove unused .ftrace.tramp section powerpc64/ftrace: Move ELFv1 and -pg support code into a separate file powerpc/ftrace: Simplify function_graph support in ftrace.c powerpc/ftrace: Use FTRACE_REGS_ADDR to identify the correct ftrace
trampoline
powerpc/ftrace: Extend ftrace support for large kernels to ppc32 powerpc/ftrace: Consolidate ftrace support into fewer files powerpc/ftrace: Refactor ftrace_modify_code() powerpc/ftrace: Stop re-purposing linker generated long branches for
ftrace
powerpc/ftrace: Add separate ftrace_init_nop() with additional
validation
powerpc/ftrace: Simplify ftrace_make_nop()
powerpc/ftrace: Simplify ftrace_make_call() powerpc/ftrace: Simplify ftrace_modify_call() powerpc/ftrace: Replace use of ftrace_call_replace() with
ftrace_create_branch_inst()
powerpc/ftrace: Implement ftrace_replace_code() powerpc/ftrace: Add support for -fpatchable-function-entry
arch/powerpc/Kconfig | 14 +-
arch/powerpc/Makefile | 5 +
arch/powerpc/include/asm/ftrace.h | 22 +-
arch/powerpc/include/asm/module.h | 4 -
arch/powerpc/include/asm/sections.h | 2 +
arch/powerpc/include/asm/vermagic.h | 4 +-
arch/powerpc/kernel/module_64.c | 2 +-
arch/powerpc/kernel/trace/Makefile | 12 +-
arch/powerpc/kernel/trace/ftrace.c | 908 +++++-------------
arch/powerpc/kernel/trace/ftrace_64_pg.S | 67 --
arch/powerpc/kernel/trace/ftrace_64_pg.c | 846 ++++++++++++++++
.../{ftrace_low.S => ftrace_64_pg_entry.S} | 64 +-
.../{ftrace_mprofile.S => ftrace_entry.S} | 67 ++
arch/powerpc/kernel/vmlinux.lds.S | 4 -
.../gcc-check-fpatchable-function-entry.sh | 26 +
15 files changed, 1277 insertions(+), 770 deletions(-)
delete mode 100644 arch/powerpc/kernel/trace/ftrace_64_pg.S
create mode 100644 arch/powerpc/kernel/trace/ftrace_64_pg.c
rename arch/powerpc/kernel/trace/{ftrace_low.S => ftrace_64_pg_entry.S} (54%)
rename arch/powerpc/kernel/trace/{ftrace_mprofile.S => ftrace_entry.S} (83%)
create mode 100755 arch/powerpc/tools/gcc-check-fpatchable-function-entry.shbase-commit: bd517a8442b6c6646a136421cd4c1b95bf4ce32b
Signature · 1 line
2.40.1