summaryrefslogtreecommitdiffstats
path: root/drivers/gpu/drm/i915/i915_gem_shrinker.c
diff options
context:
space:
mode:
authorChris Wilson <chris@chris-wilson.co.uk>2016-04-20 12:09:50 +0100
committerChris Wilson <chris@chris-wilson.co.uk>2016-04-20 13:44:19 +0100
commitca61d4a425f2e23e870e027f2450fb126a1f2103 (patch)
treed0b3ea3fcaa533561f34fc4baceeea95f2e606b6 /drivers/gpu/drm/i915/i915_gem_shrinker.c
parent791bee125b42aa0bba3e521f148cfaf38f72a4fd (diff)
downloadop-kernel-dev-ca61d4a425f2e23e870e027f2450fb126a1f2103.zip
op-kernel-dev-ca61d4a425f2e23e870e027f2450fb126a1f2103.tar.gz
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 <akash.goel@intel.com> Signed-off-by: Chris Wilson <chris@chris-wilson.co.uk> Cc: Akash Goel <akash.goel@intel.com> Cc: Joonas Lahtinen <joonas.lahtinen@linux.intel.com> Reviewed-by: Joonas Lahtinen <joonas.lahtinen@linux.intel.com> Link: http://patchwork.freedesktop.org/patch/msgid/1461150592-27818-1-git-send-email-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.c2
1 files changed, 1 insertions, 1 deletions
diff --git a/drivers/gpu/drm/i915/i915_gem_shrinker.c b/drivers/gpu/drm/i915/i915_gem_shrinker.c
index d46388f..4e4fcfa 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;
OpenPOWER on IntegriCloud