From 9a41ace714a6fd4275b05097b12d1b6a7f8653af Mon Sep 17 00:00:00 2001 From: Tvrtko Ursulin Date: Tue, 6 Mar 2018 12:43:11 +0000 Subject: trace.pl: Move min/max timestamp lookup to last loop It makes sense to fetch the min and max timestamp only after the last sort of the array. Signed-off-by: Tvrtko Ursulin Cc: John Harrison Reviewed-by: Lionel Landwerlin --- scripts/trace.pl | 11 ++++++----- 1 file changed, 6 insertions(+), 5 deletions(-) (limited to 'scripts') diff --git a/scripts/trace.pl b/scripts/trace.pl index d49d25d6..27b39efc 100755 --- a/scripts/trace.pl +++ b/scripts/trace.pl @@ -531,8 +531,6 @@ foreach my $key (keys %db) { # GPU time accounting my (%running, %runnable, %queued, %batch_avg, %batch_total_avg, %batch_count); my (%submit_avg, %execute_avg, %ctxsave_avg); -my $last_ts = 0; -my $first_ts; sub sortStart { my $as = $db{$a}->{'start'}; @@ -554,9 +552,6 @@ foreach my $key (@sorted_keys) { my $ring = $db{$key}->{'ring'}; my $end = $db{$key}->{'end'}; - $first_ts = $db{$key}->{'queue'} if not defined $first_ts or $db{$key}->{'queue'} < $first_ts; - $last_ts = $end if $end > $last_ts; - # correct duration of merged batches if ($correct_durations and exists $db{$key}->{'no-end'}) { my $ctx = $db{$key}->{'ctx'}; @@ -584,12 +579,18 @@ foreach my $key (@sorted_keys) { @sorted_keys = sort sortStart keys %db if $re_sort; +my $last_ts = 0; +my $first_ts; + foreach my $key (@sorted_keys) { my $ring = $db{$key}->{'ring'}; my $end = $db{$key}->{'end'}; my $start = $db{$key}->{'start'}; my $notify = $db{$key}->{'notify'}; + $first_ts = $db{$key}->{'queue'} if not defined $first_ts or $db{$key}->{'queue'} < $first_ts; + $last_ts = $end if $end > $last_ts; + $db{$key}->{'context-complete-delay'} = $end - $notify; $db{$key}->{'execute-delay'} = $start - $db{$key}->{'submit'}; $db{$key}->{'submit-delay'} = $db{$key}->{'submit'} - $db{$key}->{'queue'}; -- cgit v1.2.3