[Mesa-dev] [PATCH] i965: Fix GPU hangs when a blorp batch is the first thing to execute.

Paul Berry stereotype441 at gmail.com
Thu May 2 13:08:49 PDT 2013


On 2 May 2013 12:54, Chris Wilson <chris at chris-wilson.co.uk> wrote:

> On Thu, May 02, 2013 at 09:07:08AM -0700, Eric Anholt wrote:
> > Chris Wilson <chris at 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.
-------------- next part --------------
An HTML attachment was scrubbed...
URL: <http://lists.freedesktop.org/archives/mesa-dev/attachments/20130502/a5b0e4a1/attachment.html>


More information about the mesa-dev mailing list