]> 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)
committerChris Wilson <chris@chris-wilson.co.uk>
Thu, 8 Mar 2018 18:03:36 +0000 (18:03 +0000)
commit8b8a5c59b27510bf451bc6d69665e8ea98e2e3f3
tree05435c312ab4d74c8673ac955b976980cdd576ef
parentb123185fabaecd1a815b215ae5c2786964ff53c7
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: a6b9e326bfa6 ("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
drivers/gpu/drm/i915/i915_gem.c