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@xxxxxxxxx> -Michał > _______________________________________________ > Intel-gfx mailing list > Intel-gfx@xxxxxxxxxxxxxxxxxxxxx > https://lists.freedesktop.org/mailman/listinfo/intel-gfx _______________________________________________ Intel-gfx mailing list Intel-gfx@xxxxxxxxxxxxxxxxxxxxx https://lists.freedesktop.org/mailman/listinfo/intel-gfx