From: Alan Jenkins Date: Tue, 14 Oct 2008 13:19:15 +0000 (+0100) Subject: tracing/fastboot: fix row order in bootgraph.pl X-Git-Tag: v2.6.28-rc3~86^2~23 X-Git-Url: http://pilppa.com/gitweb/?a=commitdiff_plain;h=06d1cd267ca0a2a76beb9a762465572dd3d0cce6;p=linux-2.6-omap-h63xx.git 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 Acked-by: Frédéric Weisbecker Signed-off-by: Ingo Molnar --- diff --git a/scripts/bootgraph.pl b/scripts/bootgraph.pl index ea2b079af9f..d2c61efc216 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;