]> git.baikalelectronics.ru Git - kernel.git/commit
drm/i915/gt: Decouple completed requests on unwind
authorChris Wilson <chris@chris-wilson.co.uk>
Thu, 26 Nov 2020 14:04:03 +0000 (14:04 +0000)
committerChris Wilson <chris@chris-wilson.co.uk>
Thu, 26 Nov 2020 18:26:01 +0000 (18:26 +0000)
commitd4e65f510cd257fb227896b7c4c31af5e3b44f81
tree6da440b3d90eea5700ec7a917d96f0302e5824ce
parent54ac02668c8d7cd51ed44b09d8dd9e2515eeca61
drm/i915/gt: Decouple completed requests on unwind

Since the introduction of preempt-to-busy, requests can complete in the
background, even while they are not on the engine->active.requests list.
As such, the engine->active.request list itself is not in strict
retirement order, and we have to scan the entire list while unwinding to
not miss any. However, if the request is completed we currently leave it
on the list [until retirement], but we could just as simply remove it
and stop treating it as active. We would only have to then traverse it
once while unwinding in quick succession.

Signed-off-by: Chris Wilson <chris@chris-wilson.co.uk>
Reviewed-by: Tvrtko Ursulin <tvrtko.ursulin@intel.com>
Link: https://patchwork.freedesktop.org/patch/msgid/20201126140407.31952-1-chris@chris-wilson.co.uk
drivers/gpu/drm/i915/gt/intel_lrc.c
drivers/gpu/drm/i915/i915_request.c