[Mesa-dev] [PATCH 4/4] i965: Drop the batch and limp along if execbuf fails.

Kenneth Graunke kenneth at whitecape.org
Mon Sep 25 16:46:11 UTC 2017


On Monday, September 25, 2017 8:05:29 AM PDT Chris Wilson wrote:
> Quoting Jason Ekstrand (2017-09-24 22:53:04)
> > I've got this a few times recently and it's really annoying.  I don't know 
> > if this will fix anything or not but it may be worth a go.  I fear, 
> > however, that ignoring an execbuf failure will lead to permanently 
> > corrupted rendering or even additional hangs due to a chunk of the stream 
> > being missing.  That seems undesirable.  I would feel more comfortable 
> > about if you flagged BRW_NEW_CONTEXT in this cases to force a full state 
> > re-emit.
> 
> The other step to consider is dependency chains. If you replace the
> batch with an empty one (just MI_BB_END) and execute it with the rest of
> the execobjects, then all the fences (both implicit and explicit) will
> be valid. Just the contents garbage, and gpu state can be fixed up by
> NEW_CONTEXT as Jason suggested.
> -Chris

That seems like a good idea.  What do you think we should do if that
fails?  I guess it would still try to pin all the execobject BOs, so
couldn't it still hit a low memory problem and fail?

Jason's email also reminded me that there's a bunch of CPU-side "current
state of the GPU" fields that we'd need to reset too (which I also need
to fix when we exceed the aperture).  They're kind of scattered all over
the place now, so I'll try and round them up and fix that...

--Ken
-------------- next part --------------
A non-text attachment was scrubbed...
Name: signature.asc
Type: application/pgp-signature
Size: 833 bytes
Desc: This is a digitally signed message part.
URL: <https://lists.freedesktop.org/archives/mesa-dev/attachments/20170925/f1135681/attachment.sig>


More information about the mesa-dev mailing list