mesa/src
Kai-Heng Feng 5aae8a0526 iris: Retry DRM_IOCTL_I915_GEM_EXECBUFFER2 on ENOMEM
We are seeing endless DRM_IOCTL_SYNCOBJ_WAIT ioctl when system memory is
under pressured.

Commit f9d8d9acbb ("iris: Avoid abort() if kernel can't allocate
memory") avoids the abort() on ENOMEM by resetting the batch. However,
when there's an ongoing OpenGL query, resetting the batch will make the
snapshots_landed never be flipped, so iris_get_query_result() gets stuck
in the while loop forever.

Since there's no guarantee that the next batch after resetting won't hit
ENOMEM, so instead of resetting the batch, be patient and wait until kernel has
enough memory. Once the batch is submiited and snapshots_landed gets
flipped, iris_get_query_result() can proceed normally.

Reviewed-by: José Roberto de Souza <jose.souza@intel.com>
Closes: https://gitlab.freedesktop.org/drm/intel/-/issues/6851
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/20449>
2023-03-02 14:30:17 +00:00
..
amd radv: use new EVENT_WRITE_ZPASS packet3 on GFX11 2023-03-02 12:53:27 +00:00
android_stub util/log: improve logger_android 2023-02-22 17:55:40 +00:00
asahi asahi: Identify USC cache invalidate 2023-03-01 01:04:29 +00:00
broadcom v3dv: Enable (leased) direct display extensions. 2023-02-28 11:30:07 +00:00
c11 c11: Remove _MTX_INITIALIZER_NP for windows 2022-11-09 04:38:28 +00:00
compiler nir/lower_mediump: don't use fp16 for constants if the result is denormal 2023-03-02 11:42:10 +00:00
drm-shim drm-shim: Use hide_drm_device_path() to hide other drm devices 2022-12-30 15:51:11 -08:00
egl egl: include directly the useful vulkan header, instead of including everything 2023-02-23 18:31:22 +00:00
etnaviv ci/etnaviv: Drop one more gc7000 xfail. 2023-02-24 07:31:36 +00:00
freedreno glsl: remove do_copy_propagation_elements() optimisation pass 2023-03-01 16:09:25 +00:00
gallium iris: Retry DRM_IOCTL_I915_GEM_EXECBUFFER2 on ENOMEM 2023-03-02 14:30:17 +00:00
gbm gbm: drop unnecessary vulkan dependency 2023-02-23 18:31:22 +00:00
getopt
glx glx: fix indirect initialization crash 2023-03-01 19:54:00 +00:00
gtest
imagination pvr: Setup SPM background object 2023-03-01 17:10:53 +00:00
imgui
intel intel/compiler: add comment about workaround on simd width 2023-03-02 14:06:36 +00:00
loader loader: do not check the mesa DRI_Mesa version if it was not found 2023-02-22 15:07:24 +00:00
mapi glthread: fix a perf regression due to draw_always_async flag, fix DrawIndirect 2023-03-01 23:18:10 +00:00
mesa glthread: fix a perf regression due to draw_always_async flag, fix DrawIndirect 2023-03-01 23:18:10 +00:00
microsoft microsoft/compiler: Handle scoped barrier in Tess splitting 2023-02-27 20:24:01 +00:00
nouveau nir: add assertions that loops don't have a Continue Construct 2023-02-21 10:41:11 +00:00
panfrost panfrost/midgard: Drop redundant arg to emit_explicit_constant. 2023-02-28 06:13:05 +00:00
tool tool/pps: Fix 32-bit build issue with format string 2023-01-18 19:27:41 +00:00
util util: add macro to support gcc/clang poison 2023-03-02 00:01:27 +00:00
virtio venus: fix VK_EXT_image_view_min_lod feature query 2023-03-01 17:24:26 +00:00
vulkan vulkan/wsi/x11: make 4 image minimum for xwayland driver-specific 2023-02-27 13:21:21 +00:00
meson.build hgl: remove 2023-02-18 00:44:43 +00:00