]> git.baikalelectronics.ru Git - kernel.git/commit
drm/i915: Delay semaphore submission until the start of the signaler
authorChris Wilson <chris@chris-wilson.co.uk>
Wed, 1 May 2019 11:45:36 +0000 (12:45 +0100)
committerChris Wilson <chris@chris-wilson.co.uk>
Fri, 3 May 2019 11:10:49 +0000 (12:10 +0100)
commit0f4363be085cbaf037957b0829f57a1e181cd79c
tree92445a1631c840062355c3856012cb6854f17e87
parent301d1ca4ed2322ad504d08b4a8299be6839c5d48
drm/i915: Delay semaphore submission until the start of the signaler

Currently we submit the semaphore busywait as soon as the signaler is
submitted to HW. However, we may submit the signaler as the tail of a
batch of requests, and even not as the first context in the HW list,
i.e. the busywait may start spinning far in advance of the signaler even
starting.

If we wait until the request before the signaler is completed before
submitting the busywait, we prevent the busywait from starting too
early, if the signaler is not first in submission port.

To handle the case where the signaler is at the start of the second (or
later) submission port, we will need to delay the execution callback
until we know the context is promoted to port0. A challenge for later.

Fixes: 258e3721ec3a ("drm/i915: Use HW semaphores for inter-engine synchroni
sation on gen8+")
Signed-off-by: Chris Wilson <chris@chris-wilson.co.uk>
Cc: Tvrtko Ursulin <tvrtko.ursulin@intel.com>
Reviewed-by: Tvrtko Ursulin <tvrtko.ursulin@intel.com>
Link: https://patchwork.freedesktop.org/patch/msgid/20190501114541.10077-9-chris@chris-wilson.co.uk
drivers/gpu/drm/i915/i915_request.c