]> git.baikalelectronics.ru Git - kernel.git/commit
drm/i915/gt: Simplify virtual engine handling for execlists_hold()
authorChris Wilson <chris@chris-wilson.co.uk>
Thu, 24 Dec 2020 13:55:43 +0000 (13:55 +0000)
committerChris Wilson <chris@chris-wilson.co.uk>
Thu, 24 Dec 2020 15:02:41 +0000 (15:02 +0000)
commit0a67747804d2afb5283777c3af8c1bec6286792d
tree774954df56c8feb2339d00fb2ea5c9dedeca84a1
parentf8b4b7d432ec2cc21ebe65fd7a51baf89d07b484
drm/i915/gt: Simplify virtual engine handling for execlists_hold()

Now that the tasklet completely controls scheduling of the requests, and
we postpone scheduling out the old requests, we can keep a hanging
virtual request bound to the engine on which it hung, and remove it from
te queue. On release, it will be returned to the same engine and remain
in its queue until it is scheduled; after which point it will become
eligible for transfer to a sibling. Instead, we could opt to resubmit the
request along the virtual engine on unhold, making it eligible for load
balancing immediately -- but that seems like a pointless optimisation
for a hanging context.

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-8-chris@chris-wilson.co.uk
drivers/gpu/drm/i915/gt/intel_execlists_submission.c