[Intel-gfx] [PATCH 03/34] drm/i915: Show all active engines on hangcheck

Mika Kuoppala mika.kuoppala at linux.intel.com
Tue Jan 22 12:33:00 UTC 2019


Chris Wilson <chris at chris-wilson.co.uk> writes:

> This turns out to be quite useful if one happens to be debugging
> semaphore deadlocks.
>
> Signed-off-by: Chris Wilson <chris at chris-wilson.co.uk>
> ---
>  drivers/gpu/drm/i915/intel_hangcheck.c | 15 +++++++++++----
>  1 file changed, 11 insertions(+), 4 deletions(-)
>
> diff --git a/drivers/gpu/drm/i915/intel_hangcheck.c b/drivers/gpu/drm/i915/intel_hangcheck.c
> index 7dc11fcb13de..741441daae32 100644
> --- a/drivers/gpu/drm/i915/intel_hangcheck.c
> +++ b/drivers/gpu/drm/i915/intel_hangcheck.c
> @@ -195,10 +195,6 @@ static void hangcheck_accumulate_sample(struct intel_engine_cs *engine,
>  		break;
>  
>  	case ENGINE_DEAD:
> -		if (GEM_SHOW_DEBUG()) {
> -			struct drm_printer p = drm_debug_printer("hangcheck");
> -			intel_engine_dump(engine, &p, "%s\n", engine->name);
> -		}
>  		break;
>  
>  	default:
> @@ -285,6 +281,17 @@ static void i915_hangcheck_elapsed(struct work_struct *work)
>  			wedged |= intel_engine_flag(engine);
>  	}
>  
> +	if (GEM_SHOW_DEBUG() && (hung | stuck)) {
> +		struct drm_printer p = drm_debug_printer("hangcheck");
> +
> +		for_each_engine(engine, dev_priv, id) {
> +			if (intel_engine_is_idle(engine))
> +				continue;

Looks rather harmless tho there is that local_bh_disable.
I was pondering if it was worthwhile to determine idle here
with more lightweight approach, but as we already use
the exact same method on determining hangcheck action, lets
stick to this as it is should be then in parity with the
engine action we got earlier.

Reviewed-by: Mika Kuoppala <mika.kuoppala at linux.intel.com>

> +
> +			intel_engine_dump(engine, &p, "%s\n", engine->name);
> +		}
> +	}
> +
>  	if (wedged) {
>  		dev_err(dev_priv->drm.dev,
>  			"GPU recovery timed out,"
> -- 
> 2.20.1
>
> _______________________________________________
> Intel-gfx mailing list
> Intel-gfx at lists.freedesktop.org
> https://lists.freedesktop.org/mailman/listinfo/intel-gfx


More information about the Intel-gfx mailing list