]> git.baikalelectronics.ru Git - kernel.git/commit
drm/i915: Only prune fences after wait-for-all
authorChris Wilson <chris@chris-wilson.co.uk>
Wed, 7 Mar 2018 17:13:03 +0000 (17:13 +0000)
committerRodrigo Vivi <rodrigo.vivi@intel.com>
Mon, 12 Mar 2018 18:24:44 +0000 (11:24 -0700)
commiteb49ead6d5667528c09c1e78261aa359f14c68c4
tree52c2bf5134ef004c41dda0b13f8a422fb42dffba
parent8b57dd93f68b56dba2b47687e9aed0b4902d1ff9
drm/i915: Only prune fences after wait-for-all

Currently, we only allow ourselves to prune the fences so long as
all the waits completed (i.e. all the fences we checked were signaled),
and that the reservation snapshot did not change across the wait.
However, if we only waited for a subset of the reservation object, i.e.
just waiting for the last writer to complete as opposed to all readers
as well, then we would erroneously conclude we could prune the fences as
indeed although all of our waits were successful, they did not represent
the totality of the reservation object.

v2: We only need to check the shared fences due to construction (i.e.
all of the shared fences will be later than the exclusive fence, if
any).

Fixes: a57848c95b51 ("drm/i915: Remove completed fences after a wait")
Signed-off-by: Chris Wilson <chris@chris-wilson.co.uk>
Cc: Joonas Lahtinen <joonas.lahtinen@linux.intel.com>
Cc: Matthew Auld <matthew.auld@intel.com>
Reviewed-by: Matthew Auld <matthew.auld@intel.com>
Link: https://patchwork.freedesktop.org/patch/msgid/20180307171303.29466-1-chris@chris-wilson.co.uk
(cherry picked from commit fa73055b8442c97b3ba7cd0aa57cd2ad32124201)
Signed-off-by: Rodrigo Vivi <rodrigo.vivi@intel.com>
drivers/gpu/drm/i915/i915_gem.c