[Intel-gfx] [PATCH] drm/i915: Treat i915_reset_engine() as guilty until proven innocent

Michel Thierry michel.thierry at intel.com
Fri Apr 6 21:23:21 UTC 2018


And I thought we believed in presumption of innocence...

On 4/6/2018 2:00 PM, Chris Wilson wrote:
> If we are resetting just one engine, we know it has stalled. So we can
> pass the stalled parameter directly to i915_gem_reset_engine(), which
> alleviates the necessity to poke at the generic engine->hangcheck.stalled
> magic variable, leaving that under control of hangcheck as its name
> implies. Other than simplifying by removing the indirect parameter along
> this path, this allows us to introduce new reset mechanisms that run
> independently of hangcheck.
> > Signed-off-by: Chris Wilson <chris at chris-wilson.co.uk>
> Cc: Michel Thierry <michel.thierry at intel.com>
> Cc: Jeff McGee <jeff.mcgee at intel.com>
> Cc: Mika Kuoppala <mika.kuoppala at linux.intel.com>
> ---
>   drivers/gpu/drm/i915/i915_drv.c               |  2 +-
>   drivers/gpu/drm/i915/i915_drv.h               |  3 +-
>   drivers/gpu/drm/i915/i915_gem.c               | 36 +++++++++----------
>   .../gpu/drm/i915/selftests/intel_hangcheck.c  |  9 -----
>   4 files changed, 20 insertions(+), 30 deletions(-)
> 
...
> @@ -774,7 +766,6 @@ static int __igt_reset_engines(struct drm_i915_private *i915,
>   				break;
>   			}
>   
> -			engine->hangcheck.stalled = false;
>   			count++;
>   
>   			if (rq) {
> 

Are the ones in igt_handle_error() still needed?
   hangcheck.stalled = true;
   hangcheck.seqno = intel_engine_get_seqno(engine);

Because igt_handle_error is sending a real request.
(I think the only ones remaining in the selftest should be in 
fake_hangcheck).

Reviewed-by: Michel Thierry <michel.thierry at intel.com>


More information about the Intel-gfx mailing list