[Intel-gfx] [PATCH 27/30] drm/i915: Invalidate fenced read domains upon flush

Chris Wilson chris at chris-wilson.co.uk
Wed Apr 13 22:38:50 CEST 2011


On Wed, 13 Apr 2011 21:43:59 +0200, Daniel Vetter <daniel at ffwll.ch> wrote:
> On Tue, Apr 12, 2011 at 09:31:55PM +0100, Chris Wilson wrote:
> > Whenever we finish reading an object through a fence, for safety we
> > clear any GPU read domain and so invalidate any TLBs associated with
> > the fenced region upon its next use.
> 
> Now that flush_fence ensures that we are paranoid and flush/invalidate
> caches the 
> 	if (fenced_gpu_access && !pending_fenced_gpu_access)
> 		flush_some_more();
> code is indeed superfluous. But please explain that in the changelog, it has
> taken me a while to (re-)figure out while the second hunk is correct.

Ok:

Whenever we finish reading an object through a fence, for safety we
clear any GPU read domain and so invalidate any TLBs associated with
the fenced region upon its next use. As we now always flush writes 
through an existing fence before it is released and then trigger the 
invalidation of the GPU domains should we ever re-use it again on the 
GPU, we no longer need to compare and force the invalidation if the
fenced access changes in move_to_gpu().
-Chris

-- 
Chris Wilson, Intel Open Source Technology Centre



More information about the Intel-gfx mailing list