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 > pte. > > 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 Type: application/pgp-signature Size: 197 bytes Desc: not available URL: <http://lists.freedesktop.org/archives/intel-gfx/attachments/20120130/63105f10/attachment.pgp>