[Intel-gfx] [PATCH 2/3] drm/i915/guc: Always enable the breadcrumbs irq

Michał Winiarski michal.winiarski at intel.com
Tue Oct 24 13:02:15 UTC 2017


On Fri, Oct 20, 2017 at 10:16:47PM +0100, Chris Wilson wrote:
> Quoting Chris Wilson (2017-10-20 22:06:39)
> > The execlists emulation on top of the GuC (used for scheduling and
> > preemption) depends on the MI_USER_INTERRUPT for its notifications and
> > tasklet action. As we always employ the irq, there is no advantage in
> > ever disabling it while we are using the GuC, so allow us to arm the
> > breadcrumb irq when enabling GuC submission and disarm upon disabling.
> > The impact should be lessened by the delayed irq disabling we do (we
> > only disable after receiving an interrupt for which no one was wanting),
> > but allowing guc to explicitly manage the irq in relation to itself is
> > simpler and prevents an issue with losing an interrupt for preemption
> > as it is not coupled to an active request.
> > 
> > Internally, we add a reference counter (breadcrumbs.irq_users) as a
> > simple mechanism to allow GuC to keep the breadcrumb irq enabled. It
> > also means that the missed-breadcrumb timer is permanently active.
> 
> Scratch that part; the timer is only enabled for waiters.
> -Chris

With additional note that as a consequence, we're basically postponing the
irq_disable until idle_work_handler.

Reviewed-by: Michał Winiarski <michal.winiarski at intel.com>

-Michał

> _______________________________________________
> Intel-gfx mailing list
> Intel-gfx at lists.freedesktop.org
> https://lists.freedesktop.org/mailman/listinfo/intel-gfx


More information about the Intel-gfx mailing list