ftrace: clean up of using ftrace_event_enable_disable()
Always use ftrace_event_enable_disable() to enable/disable an event so that we can factorize out the event toggling code. [ Impact: factorize and cleanup event tracing code ] Signed-off-by: Zhao Lei <zhaolei@cn.fujitsu.com> Cc: Steven Rostedt <rostedt@goodmis.org> Cc: Tom Zanussi <tzanussi@gmail.com> LKML-Reference: <4A14FDFE.2080402@cn.fujitsu.com> Signed-off-by: Frederic Weisbecker <fweisbec@gmail.com>
This commit is contained in:
parent
b11c53e12f
commit
0e907c9939
1 changed files with 14 additions and 30 deletions
|
@ -76,26 +76,9 @@ static void trace_destroy_fields(struct ftrace_event_call *call)
|
|||
|
||||
#endif /* CONFIG_MODULES */
|
||||
|
||||
static void ftrace_clear_events(void)
|
||||
{
|
||||
struct ftrace_event_call *call;
|
||||
|
||||
mutex_lock(&event_mutex);
|
||||
list_for_each_entry(call, &ftrace_events, list) {
|
||||
|
||||
if (call->enabled) {
|
||||
call->enabled = 0;
|
||||
tracing_stop_cmdline_record();
|
||||
call->unregfunc();
|
||||
}
|
||||
}
|
||||
mutex_unlock(&event_mutex);
|
||||
}
|
||||
|
||||
static void ftrace_event_enable_disable(struct ftrace_event_call *call,
|
||||
int enable)
|
||||
{
|
||||
|
||||
switch (enable) {
|
||||
case 0:
|
||||
if (call->enabled) {
|
||||
|
@ -114,6 +97,17 @@ static void ftrace_event_enable_disable(struct ftrace_event_call *call,
|
|||
}
|
||||
}
|
||||
|
||||
static void ftrace_clear_events(void)
|
||||
{
|
||||
struct ftrace_event_call *call;
|
||||
|
||||
mutex_lock(&event_mutex);
|
||||
list_for_each_entry(call, &ftrace_events, list) {
|
||||
ftrace_event_enable_disable(call, 0);
|
||||
}
|
||||
mutex_unlock(&event_mutex);
|
||||
}
|
||||
|
||||
/*
|
||||
* __ftrace_set_clr_event(NULL, NULL, NULL, set) will set/unset all events.
|
||||
*/
|
||||
|
@ -1059,11 +1053,7 @@ static void trace_module_remove_events(struct module *mod)
|
|||
list_for_each_entry_safe(call, p, &ftrace_events, list) {
|
||||
if (call->mod == mod) {
|
||||
found = true;
|
||||
if (call->enabled) {
|
||||
call->enabled = 0;
|
||||
tracing_stop_cmdline_record();
|
||||
call->unregfunc();
|
||||
}
|
||||
ftrace_event_enable_disable(call, 0);
|
||||
if (call->event)
|
||||
unregister_ftrace_event(call->event);
|
||||
debugfs_remove_recursive(call->dir);
|
||||
|
@ -1265,15 +1255,9 @@ static __init void event_trace_self_tests(void)
|
|||
continue;
|
||||
}
|
||||
|
||||
call->enabled = 1;
|
||||
tracing_start_cmdline_record();
|
||||
call->regfunc();
|
||||
|
||||
ftrace_event_enable_disable(call, 1);
|
||||
event_test_stuff();
|
||||
|
||||
call->unregfunc();
|
||||
tracing_stop_cmdline_record();
|
||||
call->enabled = 0;
|
||||
ftrace_event_enable_disable(call, 0);
|
||||
|
||||
pr_cont("OK\n");
|
||||
}
|
||||
|
|
Loading…
Reference in a new issue