[Intel-gfx] [PATCH] drm/i915/execlists: Relax assertion for a pinned context image on reset
Mika Kuoppala
mika.kuoppala at linux.intel.com
Mon Sep 23 09:52:14 UTC 2019
Chris Wilson <chris at chris-wilson.co.uk> writes:
> A gpu hang can occur at any time, given a sufficiently angry gpu. An
> example is when it forgets to perform a context-switch at the end of a
> request, leaving us with a hanging GPU on a completed request. Here, we
> may retire the request, only leaving its context alive via the active
> barrier. When we reset the GPU on a completed request, we do not modify
> its context image (just updating the ring state) and can safely defer
> the assertion that we have the image pinned and ready to modify.
>
> Bugzilla: https://bugs.freedesktop.org/show_bug.cgi?id=111639
> Fixes: dffa8feb3084 ("drm/i915/perf: Assert locking for i915_init_oa_perf_state()")
> Signed-off-by: Chris Wilson <chris at chris-wilson.co.uk>
> Cc: Mika Kuoppala <mika.kuoppala at linux.intel.com>
Reviewed-by: Mika Kuoppala <mika.kuoppala at linux.intel.com>
> ---
> drivers/gpu/drm/i915/gt/intel_lrc.c | 2 +-
> 1 file changed, 1 insertion(+), 1 deletion(-)
>
> diff --git a/drivers/gpu/drm/i915/gt/intel_lrc.c b/drivers/gpu/drm/i915/gt/intel_lrc.c
> index 1a2b71157f08..80ded99bcb15 100644
> --- a/drivers/gpu/drm/i915/gt/intel_lrc.c
> +++ b/drivers/gpu/drm/i915/gt/intel_lrc.c
> @@ -2383,7 +2383,6 @@ static void __execlists_reset(struct intel_engine_cs *engine, bool stalled)
> GEM_BUG_ON(!i915_vma_is_pinned(ce->state));
>
> /* Proclaim we have exclusive access to the context image! */
> - GEM_BUG_ON(!intel_context_is_pinned(ce));
> mutex_acquire(&ce->pin_mutex.dep_map, 2, 0, _THIS_IP_);
>
> rq = active_request(rq);
> @@ -2432,6 +2431,7 @@ static void __execlists_reset(struct intel_engine_cs *engine, bool stalled)
> * future request will be after userspace has had the opportunity
> * to recreate its own state.
> */
> + GEM_BUG_ON(!intel_context_is_pinned(ce));
> regs = ce->lrc_reg_state;
> if (engine->pinned_default_state) {
> memcpy(regs, /* skip restoring the vanilla PPHWSP */
> --
> 2.23.0
More information about the Intel-gfx
mailing list