]> asedeno.scripts.mit.edu Git - linux.git/commitdiff
tracing: Have event_trace_init() called by trace_init_tracefs()
authorSteven Rostedt (VMware) <rostedt@goodmis.org>
Tue, 8 May 2018 19:09:27 +0000 (15:09 -0400)
committerSteven Rostedt (VMware) <rostedt@goodmis.org>
Tue, 29 May 2018 12:28:29 +0000 (08:28 -0400)
Instead of having both trace_init_tracefs() and event_trace_init() be called
by fs_initcall() routines, have event_trace_init() called directly by
trace_init_tracefs(). This will guarantee order of how the events are
created with respect to the rest of the ftrace infrastructure. This is
needed to be able to assoctiate event files with ftrace internal events,
such as the trace_marker.

Reviewed-by: Namhyung Kim <namhyung@kernel.org>
Signed-off-by: Steven Rostedt (VMware) <rostedt@goodmis.org>
kernel/trace/trace.c
kernel/trace/trace.h
kernel/trace/trace_events.c

index bcd93031d0424f5ce515f56b252345362a3c3ec6..d5000cba5a2772f64bbf65aa8b9164af0818d540 100644 (file)
@@ -8111,6 +8111,8 @@ static __init int tracer_init_tracefs(void)
        if (IS_ERR(d_tracer))
                return 0;
 
+       event_trace_init();
+
        init_tracer_tracefs(&global_trace, d_tracer);
        ftrace_init_tracefs_toplevel(&global_trace, d_tracer);
 
index 07c43960a7044dce91fc95dcb260628707968f3d..d0319cbacf117cfb756128ea330682039c64b942 100644 (file)
@@ -1451,6 +1451,7 @@ trace_find_event_field(struct trace_event_call *call, char *name);
 extern void trace_event_enable_cmd_record(bool enable);
 extern void trace_event_enable_tgid_record(bool enable);
 
+extern int event_trace_init(void);
 extern int event_trace_add_tracer(struct dentry *parent, struct trace_array *tr);
 extern int event_trace_del_tracer(struct trace_array *tr);
 
index caf76355f0a3eddba4ff99d3d6c6d8ac30c43ca3..5b647904a65ba41c7e2e0f3368129b2c6bd005aa 100644 (file)
@@ -3144,7 +3144,7 @@ static __init int event_trace_enable_again(void)
 
 early_initcall(event_trace_enable_again);
 
-static __init int event_trace_init(void)
+__init int event_trace_init(void)
 {
        struct trace_array *tr;
        struct dentry *d_tracer;
@@ -3189,8 +3189,6 @@ void __init trace_event_init(void)
        event_trace_enable();
 }
 
-fs_initcall(event_trace_init);
-
 #ifdef CONFIG_FTRACE_STARTUP_TEST
 
 static DEFINE_SPINLOCK(test_spinlock);