[Intel-gfx] [PATCH i-g-t 04/21] trace.pl: Virtual engine preemption support

Chris Wilson chris at chris-wilson.co.uk
Fri May 10 12:55:54 UTC 2019


Quoting Tvrtko Ursulin (2019-05-08 13:10:41)
> From: Tvrtko Ursulin <tvrtko.ursulin at intel.com>
> 
> Use the 'completed?' tracepoint field to detect more robustly when a
> request has been preempted and remove it from the engine database if so.
> 
> Otherwise the script can hit a scenario where the same global seqno will
> be mentioned multiple times (on an engine seqno) which aborts processing.
> 
> Signed-off-by: Tvrtko Ursulin <tvrtko.ursulin at intel.com>
> ---
>  scripts/trace.pl | 8 ++++----
>  1 file changed, 4 insertions(+), 4 deletions(-)
> 
> diff --git a/scripts/trace.pl b/scripts/trace.pl
> index 6cc332bb6e2a..cb7cc46df22e 100755
> --- a/scripts/trace.pl
> +++ b/scripts/trace.pl
> @@ -483,17 +483,17 @@ while (<>) {
>                 $ringmap{$rings{$ring}} = $ring;
>                 $db{$key} = \%req;
>         } elsif ($tp_name eq 'i915:i915_request_out:') {
> -               my $gkey;
> -
>                 die unless exists $ctxengines{$ctx};
>  
> -               $gkey = db_key($ctxengines{$ctx}, $ctx, $seqno);
> -
>                 if ($tp{'completed?'}) {
> +                       my $gkey;
> +
>                         die unless exists $db{$key};
>                         die unless exists $db{$key}->{'start'};
>                         die if exists $db{$key}->{'end'};
>  
> +                       $gkey = db_key($ctxengines{$ctx}, $ctx, $seqno);

I'm lost, how does do the commit message? I thought db_key() just gave
the hash value and not alter the db?
-Chris


More information about the Intel-gfx mailing list