diff options
author | Vasily Gorbik <gor@linux.ibm.com> | 2024-08-28 19:07:00 +0200 |
---|---|---|
committer | Vasily Gorbik <gor@linux.ibm.com> | 2024-08-29 22:56:34 +0200 |
commit | 36dff49b9634f6054efbfda83682b2081a64b35a (patch) | |
tree | 069fac23361b8665034cda95cbae5fb4d8d47ef5 /arch/s390/kernel/ftrace.c | |
parent | s390/ftrace: Use get/copy_from_kernel_nofault consistently (diff) | |
download | linux-36dff49b9634f6054efbfda83682b2081a64b35a.tar.xz linux-36dff49b9634f6054efbfda83682b2081a64b35a.zip |
s390/ftrace: Avoid extra serialization for graph caller patching
The only context where ftrace_enable_ftrace_graph_caller()
or ftrace_disable_ftrace_graph_caller() is called also calls
ftrace_arch_code_modify_post_process(), which already performs
text_poke_sync_lock().
ftrace_run_update_code()
arch_ftrace_update_code()
ftrace_modify_all_code()
ftrace_enable_ftrace_graph_caller()/ftrace_disable_ftrace_graph_caller()
ftrace_arch_code_modify_post_process()
text_poke_sync_lock()
Remove the redundant serialization.
Reviewed-by: Heiko Carstens <hca@linux.ibm.com>
Signed-off-by: Vasily Gorbik <gor@linux.ibm.com>
Diffstat (limited to 'arch/s390/kernel/ftrace.c')
-rw-r--r-- | arch/s390/kernel/ftrace.c | 16 |
1 files changed, 2 insertions, 14 deletions
diff --git a/arch/s390/kernel/ftrace.c b/arch/s390/kernel/ftrace.c index 5ae1bf6167bf..0b6e62d1d8b8 100644 --- a/arch/s390/kernel/ftrace.c +++ b/arch/s390/kernel/ftrace.c @@ -290,26 +290,14 @@ NOKPROBE_SYMBOL(prepare_ftrace_return); */ int ftrace_enable_ftrace_graph_caller(void) { - int rc; - /* Expect brc 0xf,... */ - rc = ftrace_patch_branch_mask(ftrace_graph_caller, 0xa7f4, false); - if (rc) - return rc; - text_poke_sync_lock(); - return 0; + return ftrace_patch_branch_mask(ftrace_graph_caller, 0xa7f4, false); } int ftrace_disable_ftrace_graph_caller(void) { - int rc; - /* Expect brc 0x0,... */ - rc = ftrace_patch_branch_mask(ftrace_graph_caller, 0xa704, true); - if (rc) - return rc; - text_poke_sync_lock(); - return 0; + return ftrace_patch_branch_mask(ftrace_graph_caller, 0xa704, true); } #endif /* CONFIG_FUNCTION_GRAPH_TRACER */ |