[Intel-gfx] [PATCH 04/13] drm/i915: track ring progression using seqnos
Mika Kuoppala
mika.kuoppala at linux.intel.com
Tue Feb 26 16:09:03 CET 2013
Chris Wilson <chris at chris-wilson.co.uk> writes:
> On Tue, Feb 26, 2013 at 01:05:07PM +0200, Mika Kuoppala wrote:
>> Instead of relying in acthd, track ring seqno progression
>> to detect if ring has hung.
>
> This needs a comment that it has a user visible side-effect of limiting
> batches to a maximum of 1.5s runtime. Before, that limit was softer in
> that we had a chance to spot that the GPU was busy - even if we could be
> fooled by an infinite loop.
As the current code has:
> if (dev_priv->gpu_error.hangcheck_count++ > 1)
to trigger the hang, so it will trigger at 3rd timer call (4.5seconds)
With my patch it will be 4.5 seconds if rings are waiting
and 3 seconds if there is non waiting ring involved.
As i can't explain what is the added benefit to declare hang earlier
if there is a non waiting ring, do you want me to simplify this
to just declare hang if there is no progress in 4.5 seconds in both cases?
To match the old trigger timing.
> Did you write an i-g-t for detecting a ring of chained batchbuffers?
> -Chris
Yes, you can find it in here:
https://github.com/mkuoppal/intel-gpu-tools/commit/1df7d49ff9ecedf9c55933a9e36b1eb41f07abc6
If you wan't to compile/run, you need also:
https://github.com/mkuoppal/linux/commit/f24c1d64f89b070c74afa38ab5ac148f56c84aaf
The interface will change but currently the test is based on old ioctl.
Thanks,
-Mika
More information about the Intel-gfx
mailing list