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