[Intel-gfx] [PATCH 13/28] drm/i915: Avoid clearing preallocated regions from the GTT
Chris Wilson
chris at chris-wilson.co.uk
Tue May 1 19:35:01 CEST 2012
On Tue, 1 May 2012 19:30:10 +0200, Daniel Vetter <daniel at ffwll.ch> wrote:
> On Tue, Apr 24, 2012 at 03:47:42PM +0100, Chris Wilson wrote:
> > + /* Clear any non-preallocated blocks */
> > + list_for_each_entry(entry, &dev_priv->mm.gtt_space.hole_stack, hole_stack) {
> > + unsigned long hole_start = entry->start + entry->size;
> > + unsigned long hole_end = list_entry(entry->node_list.next,
> > + struct drm_mm_node,
> > + node_list)->start;
> > +
> > + DRM_DEBUG_KMS("clearing unused GTT space: [%lx, %lx]\n",
> > + hole_start, hole_end);
> > +
> > + intel_gtt_clear_range(hole_start / PAGE_SIZE,
> > + (hole_end-hole_start) / PAGE_SIZE);
> > + }
>
> Assuming I'm reading the code correctly this does not clear the unmanaged
> guard page at the end of the gtt.
Right, missed. The simplest fix would seem to be do that as an explicit
step afterwards. Bonus marks for commentary.
-Chris
--
Chris Wilson, Intel Open Source Technology Centre
More information about the Intel-gfx
mailing list