summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorLi Bin <huawei.libin@huawei.com>2015-12-04 11:38:39 +0800
committerJeffrey Vander Stoep <jeffv@google.com>2016-09-16 21:29:25 +0000
commitb42c14a531b4b887ffca279ad12eb844a99408ae (patch)
treeddc1477359d7a9d8fb633fbefc86b93500e05261
parent5bb08d2a552a3a7ba1e84527ea7987018fcc2f69 (diff)
UPSTREAM: arm64: ftrace: stop using kstop_machine to enable/disable tracing
For ftrace on arm64, kstop_machine which is hugely disruptive to a running system is not needed to convert nops to ftrace calls or back, because that to be modified instrucions, that NOP, B or BL, are all safe instructions which called "concurrent modification and execution of instructions", that can be executed by one thread of execution as they are being modified by another thread of execution without requiring explicit synchronization. Signed-off-by: Li Bin <huawei.libin@huawei.com> Reviewed-by: Steven Rostedt <rostedt@goodmis.org> Signed-off-by: Will Deacon <will.deacon@arm.com> Bug: 30369029 Patchset: arm64-ftrace (cherry picked from commit 81a6a146e88eca5d6726569779778d61489d85aa) Signed-off-by: Jeff Vander Stoep <jeffv@google.com> Change-Id: I54e2c0d49bd68f9547bd9f0da8b7520e02bb0714
-rw-r--r--arch/arm64/kernel/ftrace.c5
1 files changed, 5 insertions, 0 deletions
diff --git a/arch/arm64/kernel/ftrace.c b/arch/arm64/kernel/ftrace.c
index c851be795080..9669b331a23b 100644
--- a/arch/arm64/kernel/ftrace.c
+++ b/arch/arm64/kernel/ftrace.c
@@ -93,6 +93,11 @@ int ftrace_make_nop(struct module *mod, struct dyn_ftrace *rec,
return ftrace_modify_code(pc, old, new, true);
}
+void arch_ftrace_update_code(int command)
+{
+ ftrace_modify_all_code(command);
+}
+
int __init ftrace_dyn_arch_init(void)
{
return 0;