On Wed, Jul 22, 2015 at 04:16:20PM +0100, Tvrtko Ursulin wrote: > > On 07/22/2015 04:06 PM, Chris Wilson wrote: > >On Wed, Jul 22, 2015 at 04:01:33PM +0100, Tvrtko Ursulin wrote: > >>This I don't understand. Why it is OK to release a fence and never > >>re-establish it? Could that surprise some callers? > > > >We always call get_fence() before we need it (and pin it as required), > >because it can be revoked at anytime as they are a scarce resource. > > Oookay, and why it is important to release it here? Does it warrant > a comment or everyone knows this? There is fun to be had as the destination address is detiled by the hardware meaning that it is possible for the writes into the last tile row to be after the GTT address of the object. We should have allocated sufficient space in the GTT to cover all fenced writes, but that is actually only true on gen2/3. There is also the fun that avoiding the fence (besides being a resource that we may have to wait for and cause pagefaults elsewhere) is a bit faster than writing through one. So not using a fence is faster and less error prone. -Chris -- Chris Wilson, Intel Open Source Technology Centre _______________________________________________ Intel-gfx mailing list Intel-gfx@xxxxxxxxxxxxxxxxxxxxx http://lists.freedesktop.org/mailman/listinfo/intel-gfx