drm/i915: Remove self-harming shrink_all on get_pages_gtt fail
authorChris Wilson <chris@chris-wilson.co.uk>
Tue, 11 Oct 2016 08:20:20 +0000 (09:20 +0100)
committerChris Wilson <chris@chris-wilson.co.uk>
Tue, 11 Oct 2016 09:15:01 +0000 (10:15 +0100)
When we notice the system under memory pressure, we try to evict some
driver pages before asking the VM to shrink all caches. As a final step
in that process, we tried to evict everything, including active buffers.
This is harming ourselves, and we can mix shrinking all caches as well
as our residual buffers (after the first pass of trying to shrink just
our own buffers).

Signed-off-by: Chris Wilson <chris@chris-wilson.co.uk>
Reviewed-by: MichaƂ Winiarski <michal.winiarski@intel.com>
Link: http://patchwork.freedesktop.org/patch/msgid/20161011082021.14606-1-chris@chris-wilson.co.uk
drivers/gpu/drm/i915/i915_gem.c

index a89a88922448bbf283bafcc6ef22d4cb177450b9..ec0a3149baebcd50599ba77643eb8009ea420a31 100644 (file)
@@ -2264,7 +2264,6 @@ i915_gem_object_get_pages_gtt(struct drm_i915_gem_object *obj)
                         * our own buffer, now let the real VM do its job and
                         * go down in flames if truly OOM.
                         */
-                       i915_gem_shrink_all(dev_priv);
                        page = shmem_read_mapping_page(mapping, i);
                        if (IS_ERR(page)) {
                                ret = PTR_ERR(page);