Skip to content

Commit

Permalink
drm/i915: Report the current number of bytes freed during oom
Browse files Browse the repository at this point in the history
The shrinker reports the number of pages freed, but we try to log the
number of bytes - which leads to some nonsense values being reportedly
freed during oom.

Reported-by: Maarten Lankhorst <maarten.lankhorst@canonical.com>
Signed-off-by: Chris Wilson <chris@chris-wilson.co.uk>
Signed-off-by: Daniel Vetter <daniel.vetter@ffwll.ch>
  • Loading branch information
Chris Wilson authored and Daniel Vetter committed Oct 24, 2014
1 parent 43dc52c commit 005445c
Showing 1 changed file with 4 additions and 4 deletions.
8 changes: 4 additions & 4 deletions drivers/gpu/drm/i915/i915_gem.c
Original file line number Diff line number Diff line change
Expand Up @@ -5259,7 +5259,7 @@ i915_gem_shrinker_oom(struct notifier_block *nb, unsigned long event, void *ptr)
struct drm_device *dev = dev_priv->dev;
struct drm_i915_gem_object *obj;
unsigned long timeout = msecs_to_jiffies(5000) + 1;
unsigned long pinned, bound, unbound, freed;
unsigned long pinned, bound, unbound, freed_pages;
bool was_interruptible;
bool unlock;

Expand All @@ -5276,7 +5276,7 @@ i915_gem_shrinker_oom(struct notifier_block *nb, unsigned long event, void *ptr)
was_interruptible = dev_priv->mm.interruptible;
dev_priv->mm.interruptible = false;

freed = i915_gem_shrink_all(dev_priv);
freed_pages = i915_gem_shrink_all(dev_priv);

dev_priv->mm.interruptible = was_interruptible;

Expand Down Expand Up @@ -5308,13 +5308,13 @@ i915_gem_shrinker_oom(struct notifier_block *nb, unsigned long event, void *ptr)
mutex_unlock(&dev->struct_mutex);

pr_info("Purging GPU memory, %lu bytes freed, %lu bytes still pinned.\n",
freed, pinned);
freed_pages << PAGE_SHIFT, pinned);
if (unbound || bound)
pr_err("%lu and %lu bytes still available in the "
"bound and unbound GPU page lists.\n",
bound, unbound);

*(unsigned long *)ptr += freed;
*(unsigned long *)ptr += freed_pages;
return NOTIFY_DONE;
}

Expand Down

0 comments on commit 005445c

Please sign in to comment.