]> git.baikalelectronics.ru Git - kernel.git/commit
drm/i915: Mark concurrent submissions with a weak-dependency
authorChris Wilson <chris@chris-wilson.co.uk>
Thu, 7 May 2020 15:51:09 +0000 (16:51 +0100)
committerChris Wilson <chris@chris-wilson.co.uk>
Thu, 7 May 2020 18:49:21 +0000 (19:49 +0100)
commit1d1326afd5b1a8985a0a5dedfa40f7347e2699e6
tree98b0db221e7ae002cdda08a69bb0f1dbfb08c50e
parent242722ba082f6fa2c5ef42f4dfb0222a3c42c594
drm/i915: Mark concurrent submissions with a weak-dependency

We recorded the dependencies for WAIT_FOR_SUBMIT in order that we could
correctly perform priority inheritance from the parallel branches to the
common trunk. However, for the purpose of timeslicing and reset
handling, the dependency is weak -- as we the pair of requests are
allowed to run in parallel and not in strict succession.

The real significance though is that this allows us to rearrange
groups of WAIT_FOR_SUBMIT linked requests along the single engine, and
so can resolve user level inter-batch scheduling dependencies from user
semaphores.

Fixes: 5478de461342 ("drm/i915: Copy across scheduler behaviour flags across submit fences")
Testcase: igt/gem_exec_fence/submit
Signed-off-by: Chris Wilson <chris@chris-wilson.co.uk>
Cc: Tvrtko Ursulin <tvrtko.ursulin@intel.com>
Cc: <stable@vger.kernel.org> # v5.6+
Reviewed-by: Tvrtko Ursulin <tvrtko.ursulin@intel.com>
Link: https://patchwork.freedesktop.org/patch/msgid/20200507155109.8892-1-chris@chris-wilson.co.uk
drivers/gpu/drm/i915/gt/intel_lrc.c
drivers/gpu/drm/i915/i915_request.c
drivers/gpu/drm/i915/i915_scheduler.c
drivers/gpu/drm/i915/i915_scheduler.h
drivers/gpu/drm/i915/i915_scheduler_types.h