]> git.baikalelectronics.ru Git - kernel.git/commit
drm/i915/gt: Decouple inflight virtual engines
authorChris Wilson <chris@chris-wilson.co.uk>
Thu, 24 Dec 2020 13:55:38 +0000 (13:55 +0000)
committerChris Wilson <chris@chris-wilson.co.uk>
Thu, 24 Dec 2020 15:02:37 +0000 (15:02 +0000)
commitf5151fb67062495ae5263a38dee83047ac8a54fc
treeb6979183339516f7495654bae55f414f12faa582
parentfba77706f569b216204f02de34cf12d88b35cf5d
drm/i915/gt: Decouple inflight virtual engines

Once a virtual engine has been bound to a sibling, it will remain bound
until we finally schedule out the last active request. We can not rebind
the context to a new sibling while it is inflight as the context save
will conflict, hence we wait. As we cannot then use any other sibliing
while the context is inflight, only kick the bound sibling while it
inflight and upon scheduling out the kick the rest (so that we can swap
engines on timeslicing if the previously bound engine becomes
oversubscribed).

Signed-off-by: Chris Wilson <chris@chris-wilson.co.uk>
Reviewed-by: Matthew Auld <matthew.auld@intel.com>
Link: https://patchwork.freedesktop.org/patch/msgid/20201224135544.1713-3-chris@chris-wilson.co.uk
drivers/gpu/drm/i915/gt/intel_execlists_submission.c