]> git.baikalelectronics.ru Git - kernel.git/commit
drm/i915/gem: Retry faulthandlers on ENOSPC
authorChris Wilson <chris@chris-wilson.co.uk>
Fri, 15 May 2020 20:00:31 +0000 (21:00 +0100)
committerChris Wilson <chris@chris-wilson.co.uk>
Sat, 16 May 2020 09:37:20 +0000 (10:37 +0100)
commit186be9925f3ae07ccf11414147164998ab8e9955
treeb4136070583724885e4c503a63e2c6907bdd5f20
parent8820f0ddad2f1a7a3d9b31ebb90e3c39f502348d
drm/i915/gem: Retry faulthandlers on ENOSPC

As we no longer use the shmemfs allocation directly, we do not expect to
receive -ENOSPC from a backing store allocation. The potential sources
for -ENOSPC are then our own internal eviction code, so the choice is
either to kill the potential application with SIGBUS or to retry the
faulthandler.

In this patch we retry the fault handler, but since this is a should
never happen condition, it is arguable that we gather up copious debug
and kill the application. At worst, we cause an interruptible busy-wait,
stalling the application -- all causes should be transient and the
system should eventually recover. A small stall is hopefully a better
outcome than random oomkiller.

Signed-off-by: Chris Wilson <chris@chris-wilson.co.uk>
Cc: Matthew Auld <matthew.auld@intel.com>
Reviewed-by: Matthew Auld <matthew.auld@intel.com>
Link: https://patchwork.freedesktop.org/patch/msgid/20200515200031.12034-1-chris@chris-wilson.co.uk
drivers/gpu/drm/i915/gem/i915_gem_mman.c