[Intel-gfx] [PATCH 1/2] drm/i915: Detach hangcheck from request lists
Chris Wilson
chris at chris-wilson.co.uk
Tue May 19 06:36:37 PDT 2015
On Tue, May 19, 2015 at 12:03:44PM +0100, Tomas Elf wrote:
> >+ if (ring->buffer &&
> >+ ring->buffer->tail != tail &&
> >+ waitqueue_active(&ring->irq_queue))
> >+ return true;
> >+
>
> 1. For some reason going from one waitqueue_active() check in
> i915_hangcheck_elapsed() to two separate calls in two separate
> functions does not sit perfectly well with me. Maybe it's not that
> important but would it make sense to take the body of
> check_for_missed_irq() and integrate it in engine_idle(), call
> waitqueue_active() once and use the result twice: first in the check
> in the block above and then in the missing irq check that follows
> immediately?
No it is just that stop_rings is the wrong mechanism and that has lead
to this kerfuffle with using waitqueue_active() as a test for engine
busyness. That is plainly wrong.
-Chris
--
Chris Wilson, Intel Open Source Technology Centre
More information about the Intel-gfx
mailing list