summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorAlan Jenkins <alan-jenkins@tuffmail.co.uk>2008-10-14 15:19:15 +0200
committerIngo Molnar <mingo@elte.hu>2008-10-22 16:37:25 +0200
commit06d1cd267ca0a2a76beb9a762465572dd3d0cce6 (patch)
tree3ddbeffefd0ec34097fe1d9495afae25ef632611
parenttracing/fastboot: fix bootgraph.pl to run with "use strict" (diff)
downloadlinux-06d1cd267ca0a2a76beb9a762465572dd3d0cce6.tar.xz
linux-06d1cd267ca0a2a76beb9a762465572dd3d0cce6.zip
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>
-rw-r--r--scripts/bootgraph.pl6
1 files changed, 3 insertions, 3 deletions
diff --git a/scripts/bootgraph.pl b/scripts/bootgraph.pl
index ea2b079af9fd..d2c61efc216f 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;