Commit 45353ce5 authored by Chris Wilson's avatar Chris Wilson

drm/i915: Treat a framebuffer reference as an active reference whilst shrinking

Treat a framebuffer reference with the same priority as an active
reference whilst shrinking. Framebuffers are likely to be reused and
typically cost more to migrate to and from GPU memory (on LLC
architectures we need to clflush), so defer the temptation to purge them
during a kswapd run until we have run out of cheap buffers.
Signed-off-by: default avatarChris Wilson <chris@chris-wilson.co.uk>
Reviewed-by: default avatarJohn Harrison <john.c.harrison@intel.com>
Link: http://patchwork.freedesktop.org/patch/msgid/20161012124824.23521-1-chris@chris-wilson.co.uk
parent 8baa1f04
...@@ -182,8 +182,9 @@ i915_gem_shrink(struct drm_i915_private *dev_priv, ...@@ -182,8 +182,9 @@ i915_gem_shrink(struct drm_i915_private *dev_priv,
!is_vmalloc_addr(obj->mapping)) !is_vmalloc_addr(obj->mapping))
continue; continue;
if ((flags & I915_SHRINK_ACTIVE) == 0 && if (!(flags & I915_SHRINK_ACTIVE) &&
i915_gem_object_is_active(obj)) (i915_gem_object_is_active(obj) ||
obj->framebuffer_references))
continue; continue;
if (!can_release_pages(obj)) if (!can_release_pages(obj))
......
Markdown is supported
0%
or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment