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: Chris Wilson <chris@chris-wilson.co.uk> Reviewed-by: John Harrison <john.c.harrison@intel.com> Link: http://patchwork.freedesktop.org/patch/msgid/20161012124824.23521-1-chris@chris-wilson.co.uk
This commit is contained in:
parent
8baa1f04b9
commit
45353ce59b
|
@ -182,8 +182,9 @@ i915_gem_shrink(struct drm_i915_private *dev_priv,
|
|||
!is_vmalloc_addr(obj->mapping))
|
||||
continue;
|
||||
|
||||
if ((flags & I915_SHRINK_ACTIVE) == 0 &&
|
||||
i915_gem_object_is_active(obj))
|
||||
if (!(flags & I915_SHRINK_ACTIVE) &&
|
||||
(i915_gem_object_is_active(obj) ||
|
||||
obj->framebuffer_references))
|
||||
continue;
|
||||
|
||||
if (!can_release_pages(obj))
|
||||
|
|
Loading…
Reference in a new issue