aboutsummaryrefslogtreecommitdiffstats
path: root/init
diff options
context:
space:
mode:
authorSteven Rostedt <rostedt@goodmis.org>2008-08-14 15:45:08 -0400
committerIngo Molnar <mingo@elte.hu>2008-10-14 04:34:44 -0400
commit68bf21aa15c85d2e9b623dcda2b1ed8893275fa1 (patch)
tree54d4d4f7e8311b77f3166a8807a635347d479081 /init
parent8da3821ba5634497da63d58a69e24a97697c4a2b (diff)
ftrace: mcount call site on boot nops core
This is the infrastructure to the converting the mcount call sites recorded by the __mcount_loc section into nops on boot. It also allows for using these sites to enable tracing as normal. When the __mcount_loc section is used, the "ftraced" kernel thread is disabled. This uses the current infrastructure to record the mcount call sites as well as convert them to nops. The mcount function is kept as a stub on boot up and not converted to the ftrace_record_ip function. We use the ftrace_record_ip to only record from the table. This patch does not handle modules. That comes with a later patch. Signed-off-by: Steven Rostedt <srostedt@redhat.com> Signed-off-by: Ingo Molnar <mingo@elte.hu>
Diffstat (limited to 'init')
-rw-r--r--init/main.c3
1 files changed, 3 insertions, 0 deletions
diff --git a/init/main.c b/init/main.c
index 3820323c4c84..ded1fae965ab 100644
--- a/init/main.c
+++ b/init/main.c
@@ -60,6 +60,7 @@
60#include <linux/sched.h> 60#include <linux/sched.h>
61#include <linux/signal.h> 61#include <linux/signal.h>
62#include <linux/idr.h> 62#include <linux/idr.h>
63#include <linux/ftrace.h>
63 64
64#include <asm/io.h> 65#include <asm/io.h>
65#include <asm/bugs.h> 66#include <asm/bugs.h>
@@ -687,6 +688,8 @@ asmlinkage void __init start_kernel(void)
687 688
688 acpi_early_init(); /* before LAPIC and SMP init */ 689 acpi_early_init(); /* before LAPIC and SMP init */
689 690
691 ftrace_init();
692
690 /* Do the rest non-__init'ed, we're now alive */ 693 /* Do the rest non-__init'ed, we're now alive */
691 rest_init(); 694 rest_init();
692} 695}