]> git.ipfire.org Git - thirdparty/kernel/linux.git/commitdiff
s390/ftrace: Avoid extra serialization for graph caller patching
authorVasily Gorbik <gor@linux.ibm.com>
Wed, 28 Aug 2024 17:07:00 +0000 (19:07 +0200)
committerVasily Gorbik <gor@linux.ibm.com>
Thu, 29 Aug 2024 20:56:34 +0000 (22:56 +0200)
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>
arch/s390/kernel/ftrace.c

index 5ae1bf6167bfbc8e365b959e5f28aa8eacf150b1..0b6e62d1d8b87e8c9418aef7a91b71c1d04b6ad4 100644 (file)
@@ -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 */