]> 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)
commit92d28044d4acdaf35f38aea460f103b473bc3d04
treeb6979183339516f7495654bae55f414f12faa582
parent7c27678df515ef0607a3c635f362d06449656516
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