aboutsummaryrefslogtreecommitdiffstats
path: root/drivers/gpu/drm/i915/i915_gem_shrinker.c
diff options
context:
space:
mode:
authorChris Wilson <chris@chris-wilson.co.uk>2016-11-01 08:48:42 +0000
committerChris Wilson <chris@chris-wilson.co.uk>2016-11-01 09:30:09 +0000
commit415981623f80a08ae36e9757cd4fa25da140b877 (patch)
treeff151ecdf6033a592ff1897fab0081793b1ac2bb /drivers/gpu/drm/i915/i915_gem_shrinker.c
parentdrm/i915: Use the full hammer when shutting down the rcu tasks (diff)
downloadlinux-dev-415981623f80a08ae36e9757cd4fa25da140b877.tar.xz
linux-dev-415981623f80a08ae36e9757cd4fa25da140b877.zip
drm/i915: Discard objects from mm global_list after being shrunk
In the shrinker, we can safely remove an empty object (obj->mm.pages == NULL) after having discarded the pages because we are holding the struct_mutex. Signed-off-by: Chris Wilson <chris@chris-wilson.co.uk> Reviewed-by: Tvrtko Ursulin <tvrtko.ursulin@intel.com> Link: http://patchwork.freedesktop.org/patch/msgid/20161101084843.3961-2-chris@chris-wilson.co.uk
Diffstat (limited to 'drivers/gpu/drm/i915/i915_gem_shrinker.c')
-rw-r--r--drivers/gpu/drm/i915/i915_gem_shrinker.c1
1 files changed, 1 insertions, 0 deletions
diff --git a/drivers/gpu/drm/i915/i915_gem_shrinker.c b/drivers/gpu/drm/i915/i915_gem_shrinker.c
index 0daa09cabbcc..9ace5f9f5317 100644
--- a/drivers/gpu/drm/i915/i915_gem_shrinker.c
+++ b/drivers/gpu/drm/i915/i915_gem_shrinker.c
@@ -228,6 +228,7 @@ i915_gem_shrink(struct drm_i915_private *dev_priv,
SINGLE_DEPTH_NESTING);
if (!obj->mm.pages) {
__i915_gem_object_invalidate(obj);
+ list_del_init(&obj->global_list);
count += obj->base.size >> PAGE_SHIFT;
}
mutex_unlock(&obj->mm.lock);