Skip to content

Commit

Permalink
tracing/fastboot: add better resolution to initcall debug/tracing
Browse files Browse the repository at this point in the history
Change the time resolution for initcall_debug to microseconds, from
milliseconds.  This is handy to determine which initcalls you want to work
on for faster booting.

One one of my test machines, over 90% of the initcalls are less than a
millisecond and (without this patch) these are all reported as 0 msecs.
Working on the 900 us ones is more important than the 4 us ones.

With 'quiet' on the kernel command line, this adds no significant overhead
to kernel boot time.

Signed-off-by: Tim Bird <tim.bird@am.sony.com>
Signed-off-by: Andrew Morton <akpm@linux-foundation.org>
Signed-off-by: Ingo Molnar <mingo@elte.hu>
  • Loading branch information
Tim Bird authored and Ingo Molnar committed Oct 14, 2008
1 parent ad0a3b6 commit ca538f6
Show file tree
Hide file tree
Showing 2 changed files with 4 additions and 4 deletions.
4 changes: 2 additions & 2 deletions include/linux/ftrace.h
Original file line number Diff line number Diff line change
Expand Up @@ -215,9 +215,9 @@ ftrace_init_module(unsigned long *start, unsigned long *end) { }

struct boot_trace {
pid_t caller;
char func[KSYM_NAME_LEN];
char func[KSYM_NAME_LEN];
int result;
unsigned long long duration;
unsigned long long duration; /* usecs */
ktime_t calltime;
ktime_t rettime;
};
Expand Down
4 changes: 2 additions & 2 deletions init/main.c
Original file line number Diff line number Diff line change
Expand Up @@ -721,8 +721,8 @@ int do_one_initcall(initcall_t fn)
if (initcall_debug) {
it.rettime = ktime_get();
delta = ktime_sub(it.rettime, it.calltime);
it.duration = (unsigned long long) delta.tv64 >> 20;
printk("initcall %pF returned %d after %Ld msecs\n", fn,
it.duration = (unsigned long long) delta.tv64 >> 10;
printk("initcall %pF returned %d after %Ld usecs\n", fn,
it.result, it.duration);
trace_boot(&it, fn);
}
Expand Down

0 comments on commit ca538f6

Please sign in to comment.