Re: [Intel-gfx] [PATCH v3] drm/i915: Handle incomplete Z_FINISH for compressed error states

Chris Wilson
2018-10-03T10:47:59Z

Quoting Tvrtko Ursulin (2018-10-03 10:04:04)
>
> On 03/10/2018 09:24, Chris Wilson wrote:
> > The final call to zlib_deflate(Z_FINISH) may require more output
> > space to be allocated and so needs to re-invoked. Failure to do so in
> > the current code leads to incomplete zlib streams (albeit intact due to
> > the use of Z_SYNC_FLUSH) resulting in the occasional short object
> > capture.
> >
> > v2: Check against overrunning our pre-allocated page array
> > v3: Drop Z_SYNC_FLUSH entirely
> >
> > Testcase: igt/i915-error-capture.js
> > Fixes: 0a97015d45ee ("drm/i915: Compress GPU objects in error state")
> > Signed-off-by: Chris Wilson <chris@chris-wilson.co.uk>
> > Cc: Joonas Lahtinen <joonas.lahtinen@linux.intel.com>
> > Cc: <stable@vger.kernel.org> # v4.10+
> > Cc: Tvrtko Ursulin <tvrtko.ursulin@intel.com>

> Reviewed-by: Tvrtko Ursulin <tvrtko.ursulin@intel.com>

Ta, thanks for the review. gem_exec_capture with several million
objects/pages was happy so pushed.

Now, we just need the O(N^2) fix so that gem_exec_capture runs in a few
minutes and not a few _decades_.
-Chris