Re: [PATCH 08/17] drm/i915: Don't look at pg_dirty_rings for aliasing ppgtt

Daniel Vetter
2015-04-14T17:09:26Z

On Tue, Apr 14, 2015 at 05:06:36PM +0100, Chris Wilson wrote:
> On Tue, Apr 14, 2015 at 05:35:18PM +0200, Daniel Vetter wrote:
> > We load the ppgtt ptes once per gpu reset/driver load/resume and
> > that's all that's needed. Note that this only blows up when we're
> > using the allocate_va_range funcs and not the special-purpose ones
> > used. With this change we can get rid of that duplication.
>
> Honestly, I would prefer the test to be rewritten so that the
> information on which vm was being used was passed along and not that
> magic sprinkled in the middle of nowhere. e.g. execbuffer knows exactly
> what vm it bound the objects into, and yet towards the end we decide to
> guess again. Also, I would rather the execbuffer test be moved to
> i915_gem_context since it is scattering internal knowledge about.

Yeah I agree that there's more room for cleanup. I've done this minimal
patch purely to shut up the bogus WARN_ONs when I tried to unify the
gen6/7 pt alloc code in the next patch. Since it's bogus.

But I agree that the current pd reloading is hard to understand, and might
even be the reason why gen7 full ppgtt doesn't quite work. Who knows, but
otoh the code isnt' too harmful either (until we decide to can gen7 full
ppgtt for real and remove it all).
-Daniel
--
Daniel Vetter
Software Engineer, Intel Corporation