History log of /scripts/bootgraph.pl
Revision Date Author Comments
0bb98e231803860e978c302b9faccaf776881137 15-Feb-2009 Michael Neuling <mikey@neuling.org> bootgraph: fix for use with dot symbols

powerpc has dot symbols, so the dmesg output looks like:

<4>[ 0.327310] calling .migration_init+0x0/0x9c @ 1
<4>[ 0.327595] initcall .migration_init+0x0/0x9c returned 1 after 0 usecs

The below fixes bootgraph.pl so it handles this correctly.

Signed-off-by: Michael Neuling <mikey@neuling.org>
Signed-off-by: Arjan van de Ven <arjan@linux.intel.com>
Signed-off-by: Andrew Morton <akpm@linux-foundation.org>
Signed-off-by: Sam Ravnborg <sam@ravnborg.org>
d3f8ddea444b3b5324d74144177a50557cd1f137 10-Jan-2009 Arjan van de Ven <arjan@linux.intel.com> bootgraph: make the bootgraph script show async waiting time

It is useful for diagnosing boot performance to see where async function
calls are waiting on serialization... this patch adds this
functionality to the bootgraph.pl script.

The waiting time is shown as a half transparent, gray bar through the
block that is waiting.

Signed-off-by: Arjan van de Ven <arjan@linux.intel.com>
Signed-off-by: Linus Torvalds <torvalds@linux-foundation.org>
40c8c85a47552bd792b0ad49ddcc45ec18369134 04-Jan-2009 Arjan van de Ven <arjan@linux.intel.com> bootchart: improve output based on Dave Jones' feedback

Dave Jones, in his blog, had some feedback about the bootchart script:
Primarily his complaint was that shorter delays weren't visualized.

The reason for that was that too small delays will have their labels
mixed up in the graph in an unreadable mess.

This patch has a fix for this; for one, it makes the output wider,
so more will fit.
The second part is that smaller delays are now shown with a
much smaller font for the label; while this isn't per se
readable at a 1:1 zoom, at least you can zoom in with most SVG
viewing applications and see what it is you are looking at.

Signed-off-by: Arjan van de Ven <arjan@linux.intel.com>
Signed-off-by: Sam Ravnborg <sam@ravnborg.org>
24b0ecad07ac4d7ef74cb6f7da08c449fa9f6a4f 04-Jan-2009 Arjan van de Ven <arjan@linux.intel.com> bootchart: improve output based on Dave Jones' feedback

Dave Jones, in his blog, had some feedback about the bootchart script:
Primarily his complaint was that shorter delays weren't visualized.

The reason for that was that too small delays will have their labels
mixed up in the graph in an unreadable mess.

This patch has a fix for this; for one, it makes the output wider,
so more will fit.
The second part is that smaller delays are now shown with a
much smaller font for the label; while this isn't per se
readable at a 1:1 zoom, at least you can zoom in with most SVG
viewing applications and see what it is you are looking at.

Signed-off-by: Arjan van de Ven <arjan@linux.intel.com>
d1aaf8cf8afe70a8c2235a565885291fe290c57c 13-Nov-2008 Stephen Hemminger <shemminger@vyatta.com> tracing/fastboot: put error message on stderr

Since this scripts output is usually redirected, put error messages
on standard error and exit with error code if no data is found.

Signed-off-by: Stephen Hemminger <shemminger@vyatta.com>
Acked-by: Arjan van de Ven <arjan@linux.intel.com>
Signed-off-by: Ingo Molnar <mingo@elte.hu>
68f96c0c889b55bf62eee98e859cb686f8850188 12-Nov-2008 Stephen Hemminger <shemminger@vyatta.com> tracing/fastboot: fix perlcritic warning

Impact: cleanup

Fix the following warning from the perl syntax checking tool perlcritic.
This tool is a lint like tool that checks for perl best practices.

Loop iterator is not lexical at line 113, column 1.
See page 108 of PBP. (Severity: 5)

Signed-off-by: Stephen Hemminger <shemminger@vyatta.com>
Signed-off-by: Ingo Molnar <mingo@elte.hu>
06d1cd267ca0a2a76beb9a762465572dd3d0cce6 14-Oct-2008 Alan Jenkins <alan-jenkins@tuffmail.co.uk> tracing/fastboot: fix row order in bootgraph.pl

When bootgraph.pl parses a file, it gives one row for each initcall's
pid. But they are displayed in random (perl hash) order. Let's
sort the pids by the start time of their first initcall instead.

This helps trace module initcalls, where each has a separate pid.
bootgraph.pl will show module initcalls during the initramfs; it may
also be adapted to show subsequent module initcalls.

Signed-off-by: Alan Jenkins <alan-jenkins@tuffmail.co.uk>
Acked-by: Frédéric Weisbecker <fweisbec@gmail.com>
Signed-off-by: Ingo Molnar <mingo@elte.hu>
2a813f8cd8ce91d588a595c5709502dece3af289 14-Oct-2008 Alan Jenkins <alan-jenkins@tuffmail.co.uk> tracing/fastboot: fix bootgraph.pl to run with "use strict"

As a perl novice, I would prefer to have the benefit of the interpreters'
wisdom. It turns out there were already some warnings, so let's fix them.

Signed-off-by: Alan Jenkins <alan-jenkins@tuffmail.co.uk>
Acked-by: Frédéric Weisbecker <fweisbec@gmail.com>
Signed-off-by: Ingo Molnar <mingo@elte.hu>
07d1890420cce95c577736e4d67f70cbd39845fe 04-Oct-2008 Frederic Weisbecker <fweisbec@gmail.com> tracing/fastboot: fix initcalls disposition in bootgraph.pl

When bootgraph.pl parses a file, it gives one row
for each initcall's pid. But only few of them will
be displayed => the longest.

This patch corrects it by giving only a rows for pids
which have initcalls that will be displayed.

Signed-off-by: Frederic Weisbecker <fweisbec@gmail.com>
Acked-by: Arjan van de Ven <arjan@linux.intel.com>
Signed-off-by: Ingo Molnar <mingo@elte.hu>
5c542368a3ded88bed98239fb3570dda416203ee 20-Sep-2008 Arnaud Patard <apatard@mandriva.com> tracing/fastboot: fix bootgraph.pl initcall name regexp

The regexp used to match the start and the end of an initcall
are matching only on [a-zA-Z\_]. This rules out initcalls with
a number in them. This patch is fixing that.

Signed-off-by: Arnaud Patard <apatard@mandriva.com>
Signed-off-by: Ingo Molnar <mingo@elte.hu>
80a398a55d3096ff4572b44271d095413749ebb4 15-Sep-2008 Arjan van de Ven <arjan@linux.intel.com> tracing/fastboot: fix issues and improve output of bootgraph.pl

David Sanders reported some issues with bootgraph.pl's display
of his sytems bootup; this commit fixes these by scaling the graph
not from 0 - end time but from the first initcall to the end time;
the minimum display size etc also now need to scale with this, as does
the axis display.

Signed-off-by: Arjan van de Ven <arjan@linux.intel.com>
ddc7a01aad195708fc943d9446411d11e3547784 04-Oct-2008 Frederic Weisbecker <fweisbec@gmail.com> tracing/fastboot: fix initcalls disposition in bootgraph.pl

When bootgraph.pl parses a file, it gives one row
for each initcall's pid. But only few of them will
be displayed => the longest.

This patch corrects it by giving only a rows for pids
which have initcalls that will be displayed.

[ mingo@elte.hu: resolved conflicts ]
Signed-off-by: Frederic Weisbecker <fweisbec@gmail.com>
Acked-by: Arjan van de Ven <arjan@linux.intel.com>
Signed-off-by: Ingo Molnar <mingo@elte.hu>
aa5d9151f745b6ee6a236a1f109118034277eb92 13-Sep-2008 Arjan van de Ven <arjan@linux.intel.com> tracing/fastboot: add a script to visualize the kernel boot process / time

When optimizing the kernel boot time, it's very valuable to visualize
what is going on at which time. In addition, with the fastboot asynchronous
initcall level, it's very valuable to see which initcall gets run where
and when.

This patch adds a script to turn a dmesg into a SVG graph (that can be
shown with tools such as InkScape, Gimp or Firefox) and a small change
to the initcall code to print the PID of the thread calling the initcall
(so that the script can work out the parallelism).

Signed-off-by: Arjan van de Ven <arjan@linux.intel.com>
8bd9890e94627bc1ef372085e64dda7f9e307e82 20-Sep-2008 Arnaud Patard <apatard@mandriva.com> fastboot: Fix bootgraph.pl initcall name regexp

The regexp used to match the start and the end of an initcall
are matching only on [a-zA-Z\_]. This rules out initcalls with
a number in them. This patch is fixing that.

Signed-off-by: Arnaud Patard <apatard@mandriva.com>
709790a9aafe424785dd02bcb31b0dddb4ef59e4 15-Sep-2008 Arjan van de Ven <arjan@linux.intel.com> fastboot: fix issues and improve output of bootgraph.pl

David Sanders reported some issues with bootgraph.pl's display
of his sytems bootup; this commit fixes these by scaling the graph
not from 0 - end time but from the first initcall to the end time;
the minimum display size etc also now need to scale with this, as does
the axis display.

Signed-off-by: Arjan van de Ven <arjan@linux.intel.com>
f9b9796ade7609cd62571d38f064e20c77d31281 13-Sep-2008 Arjan van de Ven <arjan@linux.intel.com> Add a script to visualize the kernel boot process / time

When optimizing the kernel boot time, it's very valuable to visualize
what is going on at which time. In addition, with some of the initializing
going asynchronous soon, it's valuable to track/print which worker thread
is executing the initialization.

This patch adds a script to turn a dmesg into a SVG graph (that can be
shown with tools such as InkScape, Gimp or Firefox) and a small change
to the initcall code to print the PID of the thread calling the initcall
(so that the script can work out the parallelism).

Signed-off-by: Arjan van de Ven <arjan@linux.intel.com>