]> git.baikalelectronics.ru Git - kernel.git/commit
drm/i915/execlists: Don't trigger preemption if complete
authorChris Wilson <chris@chris-wilson.co.uk>
Tue, 1 May 2018 12:21:31 +0000 (13:21 +0100)
committerChris Wilson <chris@chris-wilson.co.uk>
Tue, 1 May 2018 20:20:04 +0000 (21:20 +0100)
commit7f1e690f5bc95b7cbea42379c985c56da2659d6d
tree9649da236a8b5aee2e568f9cd8bc2a81961da139
parentb1096669cae9b1af0c86d36b323b594a9f86d523
drm/i915/execlists: Don't trigger preemption if complete

Due to the latency of the tasklet running from ksoftirqd, by the time we
process the execlist dequeue may be a long time behind the GPU. If the
request was completed when we ran reschedule, we will not have tweaked
its priority, but if it is still listed as being in-flight for dequeue
we will use it as a reference for the rest of the queue, including
requests from its own context which will now be at higher priority. This
can cause us to issue a preempt-to-idle request, even though the request
we want to preempt is already complete.

Reported-by: Tvrtko Ursulin <tvrtko.ursulin@intel.com>
Signed-off-by: Chris Wilson <chris@chris-wilson.co.uk>
Cc: Tvrtko Ursulin <tvrtko.ursulin@intel.com>
Link: https://patchwork.freedesktop.org/patch/msgid/20180501122131.19435-1-chris@chris-wilson.co.uk
Reviewed-by: Tvrtko Ursulin <tvrtko.ursulin@intel.com>
drivers/gpu/drm/i915/intel_lrc.c