diff options
author | Frederic Weisbecker <fweisbec@gmail.com> | 2008-10-28 20:17:38 +0100 |
---|---|---|
committer | Ingo Molnar <mingo@elte.hu> | 2008-10-28 19:15:58 +0100 |
commit | 0b6e4d56bf71866a2b58daa8323cf747988ce7e4 (patch) | |
tree | abda53ec941c887283d496abf5d364ba80f72d5e /kernel/trace | |
parent | e946217e4fdaa67681bbabfa8e6b18641921f750 (diff) | |
download | op-kernel-dev-0b6e4d56bf71866a2b58daa8323cf747988ce7e4.zip op-kernel-dev-0b6e4d56bf71866a2b58daa8323cf747988ce7e4.tar.gz |
ftrace: perform an initialization for ftrace to enable it
Impact: corrects a bug which made the non-dyn function tracer not functional
With latest git, the non-dynamic 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.
Signed-off-by: Frederic Weisbecker <fweisbec@gmail.com>
Signed-off-by: Ingo Molnar <mingo@elte.hu>
Diffstat (limited to 'kernel/trace')
-rw-r--r-- | kernel/trace/ftrace.c | 8 |
1 files changed, 8 insertions, 0 deletions
diff --git a/kernel/trace/ftrace.c b/kernel/trace/ftrace.c index 7618c52..4a39d24 100644 --- a/kernel/trace/ftrace.c +++ b/kernel/trace/ftrace.c @@ -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) |