[Intel-gfx] [PATCH] drm/i915: Move frontbuffer CS write tracking from ggtt vma to object

Chris Wilson chris at chris-wilson.co.uk
Wed Nov 16 21:07:19 UTC 2016


On Wed, Nov 16, 2016 at 05:52:43PM -0200, Paulo Zanoni wrote:
> Em Qua, 2016-11-16 às 19:07 +0000, Chris Wilson escreveu:
> > I tried to avoid having to track the write for every VMA by only
> > tracking writes to the ggtt. However, for the purposes of frontbuffer
> > tracking this is insufficient as we need to invalidate around writes
> > not
> > just to the the ggtt but all aliased ppgtt views of the framebuffer.
> > By
> > moving the critical section to the object and only doing so for
> > framebuffer writes we can reduce the tracking even further by only
> > watching framebuffers and not vma.
> 
> That fixes the test failures I was seeing. Thanks!
> 
> Tested-by: Paulo Zanoni <paulo.r.zanoni at intel.com>
> 
> Testcase: igt/kms_frontbuffer_tracking/fbc-1p-primscrn-pri-indfb-draw-
> blt (and a few others)
> 
> I didn't try bisecting, but maybe we could add:
> Fixes: d07f0e59b2c7 ("drm/i915: Move GEM activity tracking into a
> common struct reservation_object")
> 
> But while running kms_frontbuffer_tracking I'm still seeing a few dmesg
> WARNs that were not present a few weeks ago:
> 
> WARNING: CPU: 3 PID: 56 at drivers/gpu/drm/i915/intel_lrc.c:706
> execlists_schedule+0x32d/0x350 [i915]
> 
> WARN_ON(debug_locks && !lock_is_held(&(&request->i915-
> >drm.struct_mutex)->dep_map))

Already noted. I tested a patch for mmioflips whilst I was using atomic
flips. The fix is queued.
-Chris

-- 
Chris Wilson, Intel Open Source Technology Centre


More information about the Intel-gfx mailing list