Skip to content

Commit

Permalink
ftrace: Make ftrace_modify_all_code() global for archs to use
Browse files Browse the repository at this point in the history
Rename __ftrace_modify_code() to ftrace_modify_all_code() and make
it global for all archs to use. This will remove the duplication
of code, as archs that can modify code without stop_machine()
can use it directly outside of the stop_machine() call.

Signed-off-by: Steven Rostedt <rostedt@goodmis.org>
  • Loading branch information
Steven Rostedt authored and Steven Rostedt committed May 17, 2012
1 parent f0cf973 commit 8ed3e2c
Show file tree
Hide file tree
Showing 2 changed files with 15 additions and 8 deletions.
2 changes: 2 additions & 0 deletions include/linux/ftrace.h
Original file line number Diff line number Diff line change
Expand Up @@ -319,6 +319,8 @@ extern void ftrace_caller(void);
extern void ftrace_call(void);
extern void mcount_call(void);

void ftrace_modify_all_code(int command);

#ifndef FTRACE_ADDR
#define FTRACE_ADDR ((unsigned long)ftrace_caller)
#endif
Expand Down
21 changes: 13 additions & 8 deletions kernel/trace/ftrace.c
Original file line number Diff line number Diff line change
Expand Up @@ -1811,22 +1811,27 @@ int __weak ftrace_arch_code_modify_post_process(void)
return 0;
}

static int __ftrace_modify_code(void *data)
void ftrace_modify_all_code(int command)
{
int *command = data;

if (*command & FTRACE_UPDATE_CALLS)
if (command & FTRACE_UPDATE_CALLS)
ftrace_replace_code(1);
else if (*command & FTRACE_DISABLE_CALLS)
else if (command & FTRACE_DISABLE_CALLS)
ftrace_replace_code(0);

if (*command & FTRACE_UPDATE_TRACE_FUNC)
if (command & FTRACE_UPDATE_TRACE_FUNC)
ftrace_update_ftrace_func(ftrace_trace_function);

if (*command & FTRACE_START_FUNC_RET)
if (command & FTRACE_START_FUNC_RET)
ftrace_enable_ftrace_graph_caller();
else if (*command & FTRACE_STOP_FUNC_RET)
else if (command & FTRACE_STOP_FUNC_RET)
ftrace_disable_ftrace_graph_caller();
}

static int __ftrace_modify_code(void *data)
{
int *command = data;

ftrace_modify_all_code(*command);

return 0;
}
Expand Down

0 comments on commit 8ed3e2c

Please sign in to comment.