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>
This commit is contained in:
committed by
Ingo Molnar
parent
cb5ab74204
commit
5601020feb
@@ -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;
|
||||
|
Reference in New Issue
Block a user