[Intel-gfx] [PATCH 01/43] drm/i915: Track unbound pages

Chris Wilson chris at chris-wilson.co.uk
Fri Jun 1 11:25:02 CEST 2012


On Fri, 1 Jun 2012 11:14:25 +0200, Daniel Vetter <daniel at ffwll.ch> wrote:
> On Fri, May 25, 2012 at 01:32:40PM +0100, Chris Wilson wrote:
> > @@ -2095,10 +2232,10 @@ i915_gem_object_unbind(struct drm_i915_gem_object *obj)
> >  	obj->gtt_space = NULL;
> >  	obj->gtt_offset = 0;
> >  
> > -	if (i915_gem_object_is_purgeable(obj))
> > -		i915_gem_object_truncate(obj);
> > +	if (obj->base.read_domains & I915_GEM_DOMAIN_CPU)
> > +		i915_gem_object_put_pages_gtt(obj);
> 
> With the change in put_pages to set the gem object to the cpu write domain
> when we stop controlled the pages, this incurs an unnecessary clflush on
> rebind. Also, I think it makes conceptually more sense if the new unbind
> really does just that, and doesn't drop the backing storage pages under
> any circumstances.

The origins of this particular ammendment are lost in the midst of time.
The goal here is try and trim purgeable CPU bo as soon as they are
released. However, in the grand scheme of things it is now largely
superfluous.
-Chris

-- 
Chris Wilson, Intel Open Source Technology Centre



More information about the Intel-gfx mailing list