[Intel-gfx] [PATCH 6/6] drm/i915: Only attempt to signal the request once from the interrupt handler

Tvrtko Ursulin tvrtko.ursulin at linux.intel.com
Wed Mar 15 19:47:20 UTC 2017


On 15/03/2017 14:01, Chris Wilson wrote:
> Check that signaled bit on the request->fence before acquiring a

             "is not set" ^

Or "Check that the request has not been signalled before.." ?

> reference to the request for signaling later in the interrupt handler.
>
> Signed-off-by: Chris Wilson <chris at chris-wilson.co.uk>
> Cc: Mika Kuoppala <mika.kuoppala at intel.com>
> Cc: Tvrtko Ursulin <tvrtko.ursulin at intel.com>
> ---
>  drivers/gpu/drm/i915/i915_irq.c | 4 +++-
>  1 file changed, 3 insertions(+), 1 deletion(-)
>
> diff --git a/drivers/gpu/drm/i915/i915_irq.c b/drivers/gpu/drm/i915/i915_irq.c
> index 31f0d7c8992f..e646c4eba65d 100644
> --- a/drivers/gpu/drm/i915/i915_irq.c
> +++ b/drivers/gpu/drm/i915/i915_irq.c
> @@ -1056,7 +1056,9 @@ static void notify_ring(struct intel_engine_cs *engine)
>  		 * and many waiters.
>  		 */
>  		if (i915_seqno_passed(intel_engine_get_seqno(engine),
> -				      wait->seqno))
> +				      wait->seqno) &&
> +		    !test_bit(DMA_FENCE_FLAG_SIGNALED_BIT,
> +			      &wait->request->fence.flags))
>  			rq = i915_gem_request_get(wait->request);
>
>  		wake_up_process(wait->tsk);
>

Is this just to optimize things slightly? Does it happen sufficiently 
often for it to be worth it?

Regards,

Tvrtko


More information about the Intel-gfx mailing list