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)
committerChris Wilson <chris@chris-wilson.co.uk>
Tue, 19 May 2020 17:52:04 +0000 (18:52 +0100)
commit6ad249ba59badc7ff157d4db1f835748f0e2c9b6
treef5e3326559d7532c1966070d7b0bc3098fa5e0e4
parent1ee05f9e6d32a43c029d31958ff91e5ca186ad4d
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
drivers/gpu/drm/i915/gt/intel_lrc.c