summaryrefslogtreecommitdiff
path: root/init/main.c
diff options
context:
space:
mode:
authorFrederic Weisbecker <fweisbec@gmail.com>2008-10-02 11:26:05 (GMT)
committerIngo Molnar <mingo@elte.hu>2008-10-14 08:39:12 (GMT)
commit5601020feb0c3010e9e3e0131e9697ac6a06777b (patch)
tree99d1a70dbf3bba2b5ae1007c4828c28e6480214a /init/main.c
parentcb5ab74204a6e2579d1119bf1348eb806526b12b (diff)
downloadlinux-5601020feb0c3010e9e3e0131e9697ac6a06777b.tar.xz
tracing/fastboot: get the initcall name before it disappears
After some initcall traces, some initcall names may be inconsistent. That's because these functions will disappear from the .init section and also their name from the symbols table. So we have to copy the name of the function in a buffer large enough during the trace appending. It is not costly for the ring_buffer because the number of initcall entries is commonly not really large. Signed-off-by: Frederic Weisbecker <fweisbec@gmail.com> Signed-off-by: Ingo Molnar <mingo@elte.hu>
Diffstat (limited to 'init/main.c')
-rw-r--r--init/main.c3
1 files changed, 1 insertions, 2 deletions
diff --git a/init/main.c b/init/main.c
index 61eb661..8e96a0e 100644
--- a/init/main.c
+++ b/init/main.c
@@ -712,7 +712,6 @@ int do_one_initcall(initcall_t fn)
if (initcall_debug) {
it.caller = task_pid_nr(current);
- it.func = fn;
printk("calling %pF @ %i\n", fn, it.caller);
it.calltime = ktime_get();
}
@@ -725,7 +724,7 @@ int do_one_initcall(initcall_t fn)
it.duration = (unsigned long long) delta.tv64 >> 20;
printk("initcall %pF returned %d after %Ld msecs\n", fn,
it.result, it.duration);
- trace_boot(&it);
+ trace_boot(&it, fn);
}
msgbuf[0] = 0;