mirror of
https://github.com/Fishwaldo/linux-bl808.git
synced 2025-06-17 20:25:19 +00:00
tracing: Allow tracers to start at core initcall
There's times during debugging that it is helpful to see traces of early boot functions. But the tracers are initialized at device_initcall() which is quite late during the boot process. Setting the kernel command line parameter ftrace=function will not show anything until the function tracer is initialized. This prevents being able to trace functions before device_initcall(). There's no reason that the tracers need to be initialized so late in the boot process. Move them up to core_initcall() as they still need to come after early_initcall() which initializes the tracing buffers. Cc: Thomas Gleixner <tglx@linutronix.de> Signed-off-by: Steven Rostedt <rostedt@goodmis.org>
This commit is contained in:
parent
bcd83ea6cb
commit
6f4156723c
6 changed files with 7 additions and 8 deletions
|
@ -2868,7 +2868,7 @@ static int __init ftrace_mod_cmd_init(void)
|
||||||
{
|
{
|
||||||
return register_ftrace_command(&ftrace_mod_cmd);
|
return register_ftrace_command(&ftrace_mod_cmd);
|
||||||
}
|
}
|
||||||
device_initcall(ftrace_mod_cmd_init);
|
core_initcall(ftrace_mod_cmd_init);
|
||||||
|
|
||||||
static void function_trace_probe_call(unsigned long ip, unsigned long parent_ip,
|
static void function_trace_probe_call(unsigned long ip, unsigned long parent_ip,
|
||||||
struct ftrace_ops *op, struct pt_regs *pt_regs)
|
struct ftrace_ops *op, struct pt_regs *pt_regs)
|
||||||
|
@ -4055,7 +4055,7 @@ static int __init ftrace_nodyn_init(void)
|
||||||
ftrace_enabled = 1;
|
ftrace_enabled = 1;
|
||||||
return 0;
|
return 0;
|
||||||
}
|
}
|
||||||
device_initcall(ftrace_nodyn_init);
|
core_initcall(ftrace_nodyn_init);
|
||||||
|
|
||||||
static inline int ftrace_init_dyn_debugfs(struct dentry *d_tracer) { return 0; }
|
static inline int ftrace_init_dyn_debugfs(struct dentry *d_tracer) { return 0; }
|
||||||
static inline void ftrace_startup_enable(int command) { }
|
static inline void ftrace_startup_enable(int command) { }
|
||||||
|
|
|
@ -199,7 +199,7 @@ __init static int init_branch_tracer(void)
|
||||||
}
|
}
|
||||||
return register_tracer(&branch_trace);
|
return register_tracer(&branch_trace);
|
||||||
}
|
}
|
||||||
device_initcall(init_branch_tracer);
|
core_initcall(init_branch_tracer);
|
||||||
|
|
||||||
#else
|
#else
|
||||||
static inline
|
static inline
|
||||||
|
|
|
@ -411,5 +411,4 @@ static __init int init_function_trace(void)
|
||||||
init_func_cmd_traceon();
|
init_func_cmd_traceon();
|
||||||
return register_tracer(&function_trace);
|
return register_tracer(&function_trace);
|
||||||
}
|
}
|
||||||
device_initcall(init_function_trace);
|
core_initcall(init_function_trace);
|
||||||
|
|
||||||
|
|
|
@ -1474,4 +1474,4 @@ static __init int init_graph_trace(void)
|
||||||
return register_tracer(&graph_trace);
|
return register_tracer(&graph_trace);
|
||||||
}
|
}
|
||||||
|
|
||||||
device_initcall(init_graph_trace);
|
core_initcall(init_graph_trace);
|
||||||
|
|
|
@ -698,4 +698,4 @@ __init static int init_irqsoff_tracer(void)
|
||||||
|
|
||||||
return 0;
|
return 0;
|
||||||
}
|
}
|
||||||
device_initcall(init_irqsoff_tracer);
|
core_initcall(init_irqsoff_tracer);
|
||||||
|
|
|
@ -637,4 +637,4 @@ __init static int init_wakeup_tracer(void)
|
||||||
|
|
||||||
return 0;
|
return 0;
|
||||||
}
|
}
|
||||||
device_initcall(init_wakeup_tracer);
|
core_initcall(init_wakeup_tracer);
|
||||||
|
|
Loading…
Add table
Add a link
Reference in a new issue