Donate to e Foundation | Murena handsets with /e/OS | Own a part of Murena! Learn more

Commit 41598162 authored by Chris Wilson's avatar Chris Wilson
Browse files

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: default avatarChris Wilson <chris@chris-wilson.co.uk>
Reviewed-by: default avatarTvrtko Ursulin <tvrtko.ursulin@intel.com>
Link: http://patchwork.freedesktop.org/patch/msgid/20161101084843.3961-2-chris@chris-wilson.co.uk
parent 7d5d59e5
Loading
Loading
Loading
Loading
+1 −0
Original line number Original line Diff line number Diff line
@@ -228,6 +228,7 @@ i915_gem_shrink(struct drm_i915_private *dev_priv,
						  SINGLE_DEPTH_NESTING);
						  SINGLE_DEPTH_NESTING);
				if (!obj->mm.pages) {
				if (!obj->mm.pages) {
					__i915_gem_object_invalidate(obj);
					__i915_gem_object_invalidate(obj);
					list_del_init(&obj->global_list);
					count += obj->base.size >> PAGE_SHIFT;
					count += obj->base.size >> PAGE_SHIFT;
				}
				}
				mutex_unlock(&obj->mm.lock);
				mutex_unlock(&obj->mm.lock);