]> git.baikalelectronics.ru Git - kernel.git/commit
drm/i915: Avoid GPU stalls from kswapd
authorChris Wilson <chris@chris-wilson.co.uk>
Thu, 1 Oct 2015 11:18:29 +0000 (12:18 +0100)
committerDaniel Vetter <daniel.vetter@ffwll.ch>
Wed, 7 Oct 2015 14:05:41 +0000 (16:05 +0200)
commitd81ac4e6ec890249a3ffd7a4f9a954609108346b
tree8dec95710f402ff7c46e9cd5322fc0289b0ac289
parent880fca439193e2f4798b8f18cfe85ac242d154a6
drm/i915: Avoid GPU stalls from kswapd

Exclude active GPU pages from the purview of the background shrinker
(kswapd), as these cause uncontrollable GPU stalls. Given that the
shrinker is rerun until the freelists are satisfied, we should have
opportunity in subsequent passes to recover the pages once idle. If the
machine does run out of memory entirely, we have the forced idling in the
oom-notifier as a means of releasing all the pages we can before an oom
is prematurely executed.

Note that this relies upon an up-front retire_requests to keep the
inactive list in shape, which was added in a previous patch, mostly as
execlist ctx pinning band-aids.

Signed-off-by: Chris Wilson <chris@chris-wilson.co.uk>
Reviewed-by: Damien Lespiau <damien.lespiau@intel.com>
[danvet: Add note about retire_requests.]
Signed-off-by: Daniel Vetter <daniel.vetter@ffwll.ch>
drivers/gpu/drm/i915/i915_drv.h
drivers/gpu/drm/i915/i915_gem_shrinker.c