Quoting Chris Wilson (2018-02-08 10:39:05)
> Quoting Chris Wilson (2018-02-07 15:13:50)
> > Reduce the window of opportunity for set-wedged being called
> > concurrently with reset (after i915_reset() has performed the
> > i915_gem_unset_wedged()) by moving the set_bit(I915_WEDGED) to before we
> > complete the inflight requests. When i915_reset() is being blocked on a
> > request, such completion may allow it to start and beginning resetting
> > the GPU before i915_gem_set_wedged() has finished (and so before
> > set-wedge will have marked the device as wedged). As such,
> > i915_gem_init_hw() may see a wedged device even from inside
> > i915_reset().
> So I'm 99% certain this is the problem on blb/pnv. As we break the
> modeset deadlock using set-wedged from a timer, the reset springs into
> action on the other cpu and races with set_bit(I915_WEDGED). Flaging
> I915_WEDGED first will force i915_reset() to serialise via
> i915_gem_unset_wedged(). (Well that's the plan at least.)
> > References: 36703e79a982 ("drm/i915: Break modeset deadlocks on reset")
> > Signed-off-by: Chris Wilson <ch...@chris-wilson.co.uk>
> > Cc: Mika Kuoppala <mika.kuopp...@linux.intel.com>
> > Cc: Joonas Lahtinen <joonas.lahti...@linux.intel.com>
> > Cc: Tvrtko Ursulin <tvrtko.ursu...@intel.com>

Reviewed-by: Joonas Lahtinen <joonas.lahti...@linux.intel.com>

Regards, Joonas
Intel-gfx mailing list

Reply via email to