|
@@ -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");
|
|
|
}
|