drm/i915/gt: Incorporate the virtual engine into timeslicing
authorChris Wilson <chris@chris-wilson.co.uk>
Tue, 19 May 2020 13:20:46 +0000 (14:20 +0100)
committerJoonas Lahtinen <joonas.lahtinen@linux.intel.com>
Mon, 15 Jun 2020 09:35:53 +0000 (12:35 +0300)
commit8497376707be6d2ab30f6d6662f42ab0c15d2ba1
treed2b3e79cb1d622a31134a92f140dc2150bd1f88a
parentb3a9e3b9622ae10064826dccb4f7a52bd88c7407
drm/i915/gt: Incorporate the virtual engine into timeslicing

It was quite the oversight to only factor in the normal queue to decide
the timeslicing switch priority. By leaving out the next virtual request
from the priority decision, we would not timeslice the current engine if
there was an available virtual request.

Testcase: igt/gem_exec_balancer/sliced
Fixes: 3df2deed411e ("drm/i915/execlists: Enable timeslice on partial virtual engine dequeue")
Signed-off-by: Chris Wilson <chris@chris-wilson.co.uk>
Cc: Mika Kuoppala <mika.kuoppala@linux.intel.com>
Cc: Tvrtko Ursulin <tvrtko.ursulin@intel.com>
Reviewed-by: Tvrtko Ursulin <tvrtko.ursulin@intel.com>
Link: https://patchwork.freedesktop.org/patch/msgid/20200519132046.22443-3-chris@chris-wilson.co.uk
(cherry picked from commit 6ad249ba59badc7ff157d4db1f835748f0e2c9b6)
Signed-off-by: Joonas Lahtinen <joonas.lahtinen@linux.intel.com>
drivers/gpu/drm/i915/gt/intel_lrc.c