]> git.baikalelectronics.ru Git - kernel.git/commit
drm/i915/gem: Use a single chained reloc batches for a single execbuf
authorChris Wilson <chris@chris-wilson.co.uk>
Fri, 1 May 2020 19:29:44 +0000 (20:29 +0100)
committerChris Wilson <chris@chris-wilson.co.uk>
Fri, 1 May 2020 21:56:15 +0000 (22:56 +0100)
commit4c2bd46ee7c234b7daf899ec8495e7b1f1eac0c8
tree39fd2ad3022986e99f6614db862a3ca2f065b681
parentf57e6886513f16a8bc53f94564ad1d66064d0833
drm/i915/gem: Use a single chained reloc batches for a single execbuf

As we can now keep chaining together a relocation batch to process any
number of relocations, we can keep building that relocation batch for
all of the target vma. This avoiding emitting a new request into the
ring for each target, consuming precious ring space and a potential
stall.

v2: Propagate the failure from submitting the relocation batch.

Testcase: igt/gem_exec_reloc/basic-wide-active
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/20200501192945.22215-2-chris@chris-wilson.co.uk
drivers/gpu/drm/i915/gem/i915_gem_execbuffer.c