-
- Downloads
arm64: ftrace: Add dynamic ftrace support
This patch allows "dynamic ftrace" if CONFIG_DYNAMIC_FTRACE is enabled. Here we can turn on and off tracing dynamically per-function base. On arm64, this is done by patching single branch instruction to _mcount() inserted by gcc -pg option. The branch is replaced to NOP initially at kernel start up, and later on, NOP to branch to ftrace_caller() when enabled or branch to NOP when disabled. Please note that ftrace_caller() is a counterpart of _mcount() in case of 'static' ftrace. More details on architecture specific requirements are described in Documentation/trace/ftrace-design.txt. Acked-by:Will Deacon <will.deacon@arm.com> Signed-off-by:
AKASHI Takahiro <takahiro.akashi@linaro.org> Signed-off-by:
Will Deacon <will.deacon@arm.com>
Showing
- arch/arm64/Kconfig 1 addition, 0 deletionsarch/arm64/Kconfig
- arch/arm64/include/asm/ftrace.h 15 additions, 0 deletionsarch/arm64/include/asm/ftrace.h
- arch/arm64/kernel/entry-ftrace.S 43 additions, 0 deletionsarch/arm64/kernel/entry-ftrace.S
- arch/arm64/kernel/ftrace.c 112 additions, 0 deletionsarch/arm64/kernel/ftrace.c
Please register or sign in to comment