On Thu, 2016-03-24 at 19:56 +0000, Chris Wilson wrote: > On Thu, Mar 24, 2016 at 06:40:55PM +0200, Imre Deak wrote: > > Hm yea, I missed that it's only an execlist tasklet and so there > > shouldn't be any pending tasklet after mark_idle(). Perhaps it > > would > > still make sense to assert for this in gen8_logical_ring_put_irq() > > or > > somewhere? Similarly there is a tasklet_kill() in > > intel_logical_ring_cleanup(), but there shouldn't be any pending > > tasklet there either, so should we add an assert there too? > > Yes, tasklet_kill() should be a nop. We could > > if (WARN_ON(test_bit(TASKLET_STATE_SCHED, &tasklet->state)) > tasklet_kill(&tasklet); > > I don't see a particular sensible spot to assert that the engines are > off before irq uninstall other than the assertions we have in > execlists > that irqs are actually enabled when we try to submit, and the battery > of WARNs we have for trying to access the hardware whilst !rpm. Ok, this was just a hand-wavy idea then and also this tasklet isn't much different from other work we schedule from the interrupt handler and we don't have special checks for those either. The above WARN_ON would be still useful for documentation imo. --Imre _______________________________________________ Intel-gfx mailing list Intel-gfx@xxxxxxxxxxxxxxxxxxxxx https://lists.freedesktop.org/mailman/listinfo/intel-gfx