From ca61d4a425f2e23e870e027f2450fb126a1f2103 Mon Sep 17 00:00:00 2001 From: Chris Wilson Date: Wed, 20 Apr 2016 12:09:50 +0100 Subject: [PATCH] drm/i915/shrinker: Only report objects with extra pinned pages as pinned When iterating over the bound list, we expect all objects there to have their pages pinned (by the bound VMA). So only report those objects with additional pin count on their pages as "pinned". These should be those objects used for display and hardware access. Reported-by: Akash Goel Signed-off-by: Chris Wilson Cc: Akash Goel Cc: Joonas Lahtinen Reviewed-by: Joonas Lahtinen Link: http://patchwork.freedesktop.org/patch/msgid/1461150592-27818-1-git-send-email-chris@chris-wilson.co.uk --- drivers/gpu/drm/i915/i915_gem_shrinker.c | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/drivers/gpu/drm/i915/i915_gem_shrinker.c b/drivers/gpu/drm/i915/i915_gem_shrinker.c index d46388f25e04..4e4fcfa76b4c 100644 --- a/drivers/gpu/drm/i915/i915_gem_shrinker.c +++ b/drivers/gpu/drm/i915/i915_gem_shrinker.c @@ -361,7 +361,7 @@ i915_gem_shrinker_oom(struct notifier_block *nb, unsigned long event, void *ptr) if (!obj->base.filp) continue; - if (obj->pages_pin_count) + if (obj->pages_pin_count > num_vma_bound(obj)) pinned += obj->base.size; else bound += obj->base.size; -- 2.45.2