Quoting Mika Kuoppala (2017-10-20 14:31:14) > Chris Wilson <chris@xxxxxxxxxxxxxxxxxx> writes: > > > Quoting Mika Kuoppala (2017-10-20 14:21:08) > >> Chris Wilson <chris@xxxxxxxxxxxxxxxxxx> writes: > >> > >> > Back in commit a4b2b01523a8 ("drm/i915: Don't mark an execlists > >> > context-switch when idle") we noticed the presence of late > >> > context-switch interrupts. We were able to filter those out by looking > >> > at whether the ELSP remained active, but in commit beecec901790 > >> > ("drm/i915/execlists: Preemption!") that became problematic as we now > >> > anticipate receiving a context-switch event for preemption while ELSP > >> > may be empty. To restore the spurious interrupt suppression, add a > >> > >> This confuses me, how can we preempt something that was never submitted. > >> Could you elaborate? > > > > The ELSP may become empty after we told the hw to switch to the preempt > > context. So the preemption context-switch may appear as a separate > > interrupt after !port_isset(execlists.port[0]). The joy of asynchronous > > communications. > > Let me check if I got this right: as we dont use port[0] to > switch to preempt context and thus we might get 2 interrupts in a > a row, first one clearing port[0], we can't assume any idleness > by port[0] status alone? Correct. -Chris _______________________________________________ Intel-gfx mailing list Intel-gfx@xxxxxxxxxxxxxxxxxxxxx https://lists.freedesktop.org/mailman/listinfo/intel-gfx