fastboot: fix bootgraph.pl to run with "use strict"
PATCH 1/2 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.
scripts/bootgraph.pl +10 -5
@@ -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; }
PATCH 2/2 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.
scripts/bootgraph.pl +3 -3
@@ -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;
Re : [PATCH 2/2] fastboot: fix row order in bootgraph.pl
2008/10/14, Alan Jenkins <[email protected]>:
Quoted 3 lines
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.
Ingo Molnar
AppliedRe: Re : [PATCH 2/2] fastboot: fix row order in bootgraph.pl
Quoted 8 lines · Frédéric Weisbecker
2008/10/14, Alan Jenkins <[email protected]>:
Quoted 3 lines
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
Re: Re : [PATCH 2/2] fastboot: fix row order in bootgraph.pl
Quoted 10 lines · Ingo Molnar
Quoted 7 lines · Fr?d?ric Weisbecker
2008/10/14, Alan Jenkins <[email protected]>:
Quoted 3 lines
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!
Quoted 8 lines
Quoted 1 line
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?
I have no objections.
-- Steve
Re: Re : [PATCH 2/2] fastboot: fix row order in bootgraph.pl
In reply to Ingo MolnarQuoted 13 lines · On Wed, 22 Oct 2008 16:37:41 +0200 Ingo Molnar <[email protected]> wrote:
Quoted 9 lines · Frédéric Weisbecker
2008/10/14, Alan Jenkins <[email protected]>:
Quoted 4 lines
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.
Quoted 8 lines
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
Signature · 3 lines
Arjan van de Ven Intel Open Source Technology Centre For development, discussion and tips for power savings, visit http://www.lesswatts.org