Messages in this thread Patch in this message |  | | | From | Aaro Koskinen <> | | Subject | [PATCH] scripts/bootgraph.pl: ignore times until the clock is running | | Date | Thu, 18 Mar 2010 19:49:55 +0200 |
| |
The clock used for printk.time=1 does not necessarily start running from zero. On such platforms the bootgraph does not work properly as the calculated boottime will be too long.
To correct this, the patch modifies the script to accept only non-zero start times. This ensures the report contains entries only from the period when the clock was running.
Signed-off-by: Aaro Koskinen <aaro.koskinen@nokia.com> --- scripts/bootgraph.pl | 18 +++++++++++------- 1 files changed, 11 insertions(+), 7 deletions(-) diff --git a/scripts/bootgraph.pl b/scripts/bootgraph.pl index 12caa82..ec57dd4 100644 --- a/scripts/bootgraph.pl +++ b/scripts/bootgraph.pl @@ -44,7 +44,7 @@ my %end; my %type; my $done = 0; my $maxtime = 0; -my $firsttime = 100; +my $firsttime = undef; my $count = 0; my %pids; my %pidctr; @@ -54,10 +54,12 @@ while (<>) { if ($line =~ /([0-9\.]+)\] calling ([a-zA-Z0-9\_\.]+)\+/) { my $func = $2; if ($done == 0) { - $start{$func} = $1; + my $time = $1; + next unless $time =~ /[1-9]/; + $start{$func} = $time; $type{$func} = 0; - if ($1 < $firsttime) { - $firsttime = $1; + if (not defined $firsttime) { + $firsttime = $time; } } if ($line =~ /\@ ([0-9]+)/) { @@ -77,10 +79,12 @@ while (<>) { $func = "wait_" . $pid . "_" . $pidctr{$pid}; } if ($done == 0) { - $start{$func} = $1; + my $time = $1; + next unless $time =~ /[1-9]/; + $start{$func} = $time; $type{$func} = 1; - if ($1 < $firsttime) { - $firsttime = $1; + if (not defined $firsttime) { + $firsttime = $time; } } $pids{$func} = $pid; -- 1.5.6.5
|  |