Signed-off-by: Alan Jenkins <alan-j...@tuffmail.co.uk>
diff --git a/scripts/bootgraph.pl b/scripts/bootgraph.pl
index 5e7316e..ea2b079 100644
--- a/scripts/bootgraph.pl
+++ b/scripts/bootgraph.pl
@@ -37,7 +37,10 @@
# dmesg | perl scripts/bootgraph.pl > output.svg
#
-my %start, %end;
+use strict;
+
+my %start;
+my %end;
my $done = 0;
my $maxtime = 0;
my $firsttime = 100;
@@ -105,12 +108,14 @@ my $threshold = ($maxtime - $firsttime) / 60.0;
my $stylecounter = 0;
my %rows;
my $rowscount = 1;
+my $key;
+my $value;
while (($key,$value) = each %start) {
my $duration = $end{$key} - $start{$key};
if ($duration >= $threshold) {
- my $s, $s2, $e, $y;
- $pid = $pids{$key};
+ my ($s, $s2, $e, $w, $y, $y2, $style);
+ my $pid = $pids{$key};
if (!defined($rows{$pid})) {
$rows{$pid} = $rowscount;
@@ -140,9 +145,9 @@ while (($key,$value) = each %start) {
my $time = $firsttime;
my $step = ($maxtime - $firsttime) / 15;
while ($time < $maxtime) {
- my $s2 = ($time - $firsttime) * $mult;
+ my $s3 = ($time - $firsttime) * $mult;
my $tm = int($time * 100) / 100.0;
- print "<text transform=\"translate($s2,89) rotate(90)\">$tm</text>\n";
+ print "<text transform=\"translate($s3,89) rotate(90)\">$tm</text>\n";
$time = $time + $step;
}
--
To unsubscribe from this list: send the line "unsubscribe linux-kernel" in
the body of a message to majo...@vger.kernel.org
More majordomo info at http://vger.kernel.org/majordomo-info.html
Please read the FAQ at http://www.tux.org/lkml/
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-j...@tuffmail.co.uk>
diff --git a/scripts/bootgraph.pl b/scripts/bootgraph.pl
index ea2b079..d2c61ef 100644
--- a/scripts/bootgraph.pl
+++ b/scripts/bootgraph.pl
@@ -108,9 +108,9 @@ my $threshold = ($maxtime - $firsttime) / 60.0;
my $stylecounter = 0;
my %rows;
my $rowscount = 1;
+my @initcalls = sort { $start{$a} <=> $start{$b} } keys(%start);
my $key;
-my $value;
-while (($key,$value) = each %start) {
+foreach $key (@initcalls) {
my $duration = $end{$key} - $start{$key};
if ($duration >= $threshold) {
@@ -121,7 +121,7 @@ while (($key,$value) = each %start) {
$rows{$pid} = $rowscount;
$rowscount = $rowscount + 1;
}
- $s = ($value - $firsttime) * $mult;
+ $s = ($start{$key} - $firsttime) * $mult;
$s2 = $s + 6;
$e = ($end{$key} - $firsttime) * $mult;
$w = $e - $s;
Thanks. That's a good idea!
I can't test it yet but I will give you a feedback as soon as I can.
> 2008/10/14, Alan Jenkins <alan-j...@tuffmail.co.uk>:
> > 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.
>
> Thanks. That's a good idea!
>
> I can't test it yet but I will give you a feedback as soon as I can.
i've applied the two fix patches from Alan to tip/tracing/urgent:
06d1cd2: tracing/fastboot: fix row order in bootgraph.pl
2a813f8: tracing/fastboot: fix bootgraph.pl to run with "use strict"
Arjan, Steve, any objections?
Ingo
I have no objections.
-- Steve
>
> * Frédéric Weisbecker <fwei...@gmail.com> wrote:
>
> > 2008/10/14, Alan Jenkins <alan-j...@tuffmail.co.uk>:
> > > 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.
> >
> > Thanks. That's a good idea!
> >
> > I can't test it yet but I will give you a feedback as soon as I can.
>
> i've applied the two fix patches from Alan to tip/tracing/urgent:
>
> 06d1cd2: tracing/fastboot: fix row order in bootgraph.pl
> 2a813f8: tracing/fastboot: fix bootgraph.pl to run with "use strict"
>
> Arjan, Steve, any objections?
>
> Ingo
fine with me
--
Arjan van de Ven Intel Open Source Technology Centre
For development, discussion and tips for power savings,
visit http://www.lesswatts.org