On 05/02/2013 01:08 PM, Paul Berry wrote:
On 2 May 2013 12:54, Chris Wilson <ch...@chris-wilson.co.uk
<mailto:ch...@chris-wilson.co.uk>> wrote:
On Thu, May 02, 2013 at 09:07:08AM -0700, Eric Anholt wrote:
> Chris Wilson <ch...@chris-wilson.co.uk
<mailto:ch...@chris-wilson.co.uk>> writes:
>
> > On Thu, May 02, 2013 at 07:26:06AM -0700, Paul Berry wrote:
> >> Can you provide a documentation reference for why the value
we're
> >> currently programming (0xfffff001) is unsafe, and why
0x7fff0001 is
> >> correct?� I don't see anything in the bspec.
> >
> > The largest GTT size for gen6 is 2GiB (it can be smaller on the
whim of
> > the BIOS, though we try to reset it back to 2GiB in i915.ko).
The upper
> > bound is used by the hardware to prevent invalid reads and
return 0,
> > this is the value we program to ~4GiB. The cause of these hangs
is the
> > constant data being read from addresses above 2GiB i.e. beyond
the end
> > of the GTT - and so prevented by programming the upper bound to
the end
> > of the GTT. Those with access to the simulator can hopefully verify
> > this, and perhaps we should add this to the set of known bad
commands in
> > igt.
>
> The simulator has no complaints about these batches.
>
> I don't think your model of how the constants work (that there's some
> undefined, possibly >2gb address being loaded at shader dispatch
time,
> which is fixed by sending these packets) is actually how they work --
> From my reading, the constants are loaded at constant packet time
into a
> small buffer on the GPU. If the last packet and the shader disagree
> about that buffer, the GPU sometimes blows up.
That wouldn't explain why setting the DynamicStateUpperBound to 2GiB
also works around the hang, would it?
-Chris
Oh, it wasn't clear from your previous email that this was the case. In
that case I like Ken's suggestion of setting the DynamicStateUpperBound
to the end of the batch buffer. I think it's sensible to apply Eric's
fix as well, just to be on the safe side.
Ken, how long ago did you bump the kernel requirement to ensure relaxed
relocation support? If it was recent, then Eric's fix should be the one
we backport to stable releases.
About a month ago, on master. So not on 9.1.
We should cherry-pick Eric's fix to 9.1 ASAP and do a release, hopefully
next week sometime.
_______________________________________________
mesa-dev mailing list
mesa-dev@lists.freedesktop.org
http://lists.freedesktop.org/mailman/listinfo/mesa-dev