[Intel-gfx] [PATCH] drm/i915/execlists: Avoid kicking priority on the current context

Chris Wilson chris at chris-wilson.co.uk
Thu Aug 9 13:42:56 UTC 2018


Quoting Chris Wilson (2018-08-09 14:07:01)
> If the request is currently on the HW (in port 0), then we do not need
> to kick the submission tasklet to evaluate whether we should be
> preempting itself in order to execute it again.

So in the case that was annoying me:

[   70.883173] rq(18:211173).prio=0 -> 2
[   70.883186] need_preempt: last(18:211174).prio=0, queue.prio=2

We are bumping the priority of the first of a pair of requests running
in the current context. Then when evaluating preempt, we would see that
that our priority request is higher than the last executing request in
ELSP0 and so trigger preemption, not realising that our intended request
was already executing.

Sadly performing as intended, but the patch turns out to be the right
fix nevertheless.
-Chris


More information about the Intel-gfx mailing list