[Intel-gfx] [PATCH v5] drm/i915/icl: Preempt-to-idle support in execlists.

Joonas Lahtinen joonas.lahtinen at linux.intel.com
Tue Oct 16 10:53:41 UTC 2018


Quoting Tomasz Lis (2018-10-15 20:29:18)
> The patch adds support of preempt-to-idle requesting by setting a proper
> bit within Execlist Control Register, and receiving preemption result from
> Context Status Buffer.
> 
> Preemption in previous gens required a special batch buffer to be executed,
> so the Command Streamer never preempted to idle directly. In Icelake it is
> possible, as there is a hardware mechanism to inform the kernel about
> status of the preemption request.
> 
> This patch does not cover using the new preemption mechanism when GuC is
> active.
> 
> v2: Added needs_preempt_context() change so that it is not created when
>     preempt-to-idle is supported. (Chris)
>     Updated setting HWACK flag so that it is cleared after
>     preempt-to-dle. (Chris, Daniele)
>     Updated to use I915_ENGINE_HAS_PREEMPTION flag. (Chris)
> 
> v3: Fixed needs_preempt_context() change. (Chris)
>     Merged preemption trigger functions to one. (Chris)
>     Fixed conyext state tonot assume COMPLETED_MASK after preemption,
>     since idle-to-idle case will not have it set.
> 
> v4: Simplified needs_preempt_context() change. (Daniele)
>     Removed clearing HWACK flag in idle-to-idle preempt. (Daniele)
> 
> v5: Renamed inject_preempt_context(). (Daniele)
>     Removed duplicated GEM_BUG_ON() on HWACK (Daniele)
> 
> Bspec: 18922
> Cc: Joonas Lahtinen <joonas.lahtinen at linux.intel.com>
> Cc: Chris Wilson <chris at chris-wilson.co.uk>
> Cc: Daniele Ceraolo Spurio <daniele.ceraolospurio at intel.com>
> Cc: Michal Winiarski <michal.winiarski at intel.com>
> Cc: Mika Kuoppala <mika.kuoppala at intel.com>
> Reviewed-by: Daniele Ceraolo Spurio <daniele.ceraolospurio at intel.com>

This R-b was on v4, and should be indicated with # v4 comment.

The commit message doesn't say much about why preempting to idle is
beneficial? The pre-Gen11 codepath needs to be maintained anyway.

Regards, Joonas


More information about the Intel-gfx mailing list