[Intel-gfx] [PATCH] drm/i915: Special handling for bonded requests

Chris Wilson chris at chris-wilson.co.uk
Thu May 28 09:57:29 UTC 2020


Quoting Tvrtko Ursulin (2020-05-27 09:53:22)
> +static void
> +mark_bonded_pair(struct i915_request *rq, struct i915_request *signal)
> +{
> +       /*
> +        * Give (temporary) special meaning to a pair requests with requested
> +        * aligned start along the video engines.
> +        *
> +        * They should be non-preemptable and have all ELSP ports to themselves
> +        * to avoid any deadlocks caused by inversions.
> +        *
> +        * Gen11+
> +        */
> +       if (INTEL_GEN(rq->i915) < 11 ||
> +           rq->engine->class != VIDEO_DECODE_CLASS ||
> +           rq->engine->class != signal->engine->class)
> +               return;
> +
> +       set_bit(I915_FENCE_FLAG_NOPREEMPT, &rq->fence.flags);
> +       set_bit(I915_FENCE_FLAG_NOPREEMPT, &signal->fence.flags);
> +
> +       intel_context_set_single_submission(rq->context);
> +       intel_context_set_single_submission(signal->context);

The thought that just popped into my head:

This can be after signal is already submitted into ELSP[1].
-Chris


More information about the Intel-gfx mailing list