[Intel-gfx] [PATCH 2/2] drm/i915: drop the guard page at the end of the gtt
eric at anholt.net
Mon Jan 30 11:09:01 PST 2012
On Mon, 30 Jan 2012 16:55:49 +0100, Daniel Vetter <daniel.vetter at ffwll.ch> wrote:
> Chris Wilson reported that with a bunch of patches to no longer force
> batchbuffer (in most cases at least) into the mappable part of gtt
> that his Pineview died while prefetching the last page of the gtt.
> Turns out that since my intel-gtt rewrite we don't actually put a
> dummy pte in that last page anymore. Which left me rather puzzled
> because Chris' error_state was the first ever since that rewrite that
> indicated a dead gpu due to prefetch.
> So I've gone ahead and created the gem_cs_prefetch testcase which
> reliably manages to execute a batch on the last page. Of all the
> machines Chris and I have tried this on only his Pineview fell over,
> all the others handled the invalid pte right after the end of the
> batch correctly.
> The other thing is that due to my intel-gtt we've also started to use
> the non-mappable part of the gtt. So my theory is that this guard page
> was only necessary when we didn't use and hence also didn't set up any
> dummy ptes to the scratch page in that area. In that case the cs would
> prefetch into the unmappable gtt area and fail over on the invalid
> So given that this guard page smells like it just duct-taped over an
> issue in our code I've simply removed it. And this seems to work!
> Now we always run the risk that an odd machine we don't have in our
> test labs needs this, but
> - we now have an excellent testcase to diagnose any such issues
> - and the patch is easy to revert.
> Hence I prefer if we try to get rid of this.
I like the theory about invalid ptes -- makes sense to me. I'm still a
little confused: Does the pineview still fail after this patch, and
would just making the hunk do what it meant to again fix it?
-------------- next part --------------
A non-text attachment was scrubbed...
Name: not available
Size: 197 bytes
Desc: not available
More information about the Intel-gfx