[Intel-gfx] [RFC] drm/i915: Don't reset on preemptible workloads

Chris Wilson chris at chris-wilson.co.uk
Fri Aug 3 12:16:16 UTC 2018


Quoting Jakub Bartmiński (2018-08-01 14:56:11)
> The current behaviour of the hangcheck is that if we detect that a request
> is not making any forward progress, the driver will attempt the engine
> reset. If that's not successful, we fall back to a full device reset.
> 
> This patch would change it so that if hangcheck encounters a low-priority
> workload, it will attempt to preempt it before declaring a hang. If the
> preemption is successful, we allow the workload to continue "in background"
> (until the next hangcheck run, and the next attempt to preempt it). If the
> context was closed, we're simply skipping the workload's execution.
> 
> This new behaviour would allow the user to define intentionally large or
> passive workloads, that would normally be affected by the hangcheck,
> without having to divide them into smaller work.

I think the key challenge to this is suspend. We currently depend on
batches being finite in order to suspend. So I think one of my
requirements for this will be the ability to inject a preempt-to-idle
(or force a reset-to-idle) from i915_pm_prepare() so that we suspend under
load, and resume the previous load afterwards.
-Chris


More information about the Intel-gfx mailing list