ftrace: perform an initialization for ftrace to enable it
PATCH 1/1 ftrace: perform an initialization for ftrace to enable it
Impact: Corrects a bug which made the function tracer not functionnal
With latest git, the function tracer didn't get any trace.
The problem was the fact that ftrace_enabled wasn't
initialized to 1 because ftrace hasn't any init function when DYNAMIC_FTRACE is disabled.
So when a tracer tries to register an ftrace_ops struct, __register_ftrace_function failed to set the hook.
This patch corrects it by setting an init function to initialize ftrace during the boot.
---
kernel/trace/ftrace.c +8 -0
@@ -1339,6 +1339,14 @@ void __init ftrace_init(void) }#else + +static int __init ftrace_nodyn_init (void ) +{ + ftrace_enabled =1 ; +return 0 ; +} +device_initcall (ftrace_nodyn_init); +# define ftrace_startup () do { } while (0)# define ftrace_shutdown () do { } while (0)# define ftrace_startup_sysctl () do { } while (0)
Ingo Molnar
AppliedQuoted 8 lines · Frederic Weisbecker
Impact: Corrects a bug which made the function tracer not functionnal
With latest git, the function tracer didn't get any trace. The problem was the fact that
ftrace_enabledwasn't initialized to 1 because ftrace hasn't any init function whenDYNAMIC_FTRACEis disabled. So when a tracer tries to register anftrace_opsstruct,__register_ftrace_functionfailed to set the hook.
Quoted 4 lines
This patch corrects it by setting an init function to initialize ftrace during the boot.
Signed-off-by Frederic Weisbecker <[email protected]>
applied to tip/tracing/urgent, thanks Frederic!
Ingo