[Intel-gfx] [PATCH] drm/i915: Skip engine serialisation for no-op seqno reset

Mika Kuoppala mika.kuoppala at linux.intel.com
Tue Nov 27 12:54:07 UTC 2018


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

> If the engine's seqno is already at our target seqno (most likely it
> hasn't been used since the last reset), we can skip serialising the
> engine and leave it as is.
>
> Signed-off-by: Chris Wilson <chris at chris-wilson.co.uk>
> Cc: Mika Kuoppala <mika.kuoppala at linux.intel.com>
> ---
>  drivers/gpu/drm/i915/i915_request.c | 3 +++
>  1 file changed, 3 insertions(+)
>
> diff --git a/drivers/gpu/drm/i915/i915_request.c b/drivers/gpu/drm/i915/i915_request.c
> index 71107540581d..ca95ab2f4cfa 100644
> --- a/drivers/gpu/drm/i915/i915_request.c
> +++ b/drivers/gpu/drm/i915/i915_request.c
> @@ -136,6 +136,9 @@ static int reset_all_global_seqno(struct drm_i915_private *i915, u32 seqno)
>  			  intel_engine_get_seqno(engine),
>  			  seqno);
>  
> +		if (seqno == engine->timeline.seqno)
> +			continue;
> +

Patch looks valid. Only concern is possibility of hiding
the idle assertion deeper. But as that is for icl
and debugfs stomping, I am in favour.

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

>  		kthread_park(engine->breadcrumbs.signaler);
>  
>  		if (!i915_seqno_passed(seqno, engine->timeline.seqno)) {
> -- 
> 2.20.0.rc1


More information about the Intel-gfx mailing list