OSDN Git Service

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 a89a889..ec0a314 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);