drm/i915: Show (count, size) of purgeable objects in i915_gem_objects
Signed-off-by: Chris Wilson <chris@chris-wilson.co.uk> Signed-off-by: Daniel Vetter <daniel.vetter@ffwll.ch>
This commit is contained in:
parent
c4670ad080
commit
b7abb71443
|
@ -197,8 +197,8 @@ static int i915_gem_object_info(struct seq_file *m, void* data)
|
||||||
struct drm_info_node *node = (struct drm_info_node *) m->private;
|
struct drm_info_node *node = (struct drm_info_node *) m->private;
|
||||||
struct drm_device *dev = node->minor->dev;
|
struct drm_device *dev = node->minor->dev;
|
||||||
struct drm_i915_private *dev_priv = dev->dev_private;
|
struct drm_i915_private *dev_priv = dev->dev_private;
|
||||||
u32 count, mappable_count;
|
u32 count, mappable_count, purgeable_count;
|
||||||
size_t size, mappable_size;
|
size_t size, mappable_size, purgeable_size;
|
||||||
struct drm_i915_gem_object *obj;
|
struct drm_i915_gem_object *obj;
|
||||||
int ret;
|
int ret;
|
||||||
|
|
||||||
|
@ -225,9 +225,12 @@ static int i915_gem_object_info(struct seq_file *m, void* data)
|
||||||
seq_printf(m, " %u [%u] inactive objects, %zu [%zu] bytes\n",
|
seq_printf(m, " %u [%u] inactive objects, %zu [%zu] bytes\n",
|
||||||
count, mappable_count, size, mappable_size);
|
count, mappable_count, size, mappable_size);
|
||||||
|
|
||||||
size = count = 0;
|
size = count = purgeable_size = purgeable_count = 0;
|
||||||
list_for_each_entry(obj, &dev_priv->mm.unbound_list, gtt_list)
|
list_for_each_entry(obj, &dev_priv->mm.unbound_list, gtt_list) {
|
||||||
size += obj->base.size, ++count;
|
size += obj->base.size, ++count;
|
||||||
|
if (obj->madv == I915_MADV_DONTNEED)
|
||||||
|
purgeable_size += obj->base.size, ++purgeable_count;
|
||||||
|
}
|
||||||
seq_printf(m, "%u unbound objects, %zu bytes\n", count, size);
|
seq_printf(m, "%u unbound objects, %zu bytes\n", count, size);
|
||||||
|
|
||||||
size = count = mappable_size = mappable_count = 0;
|
size = count = mappable_size = mappable_count = 0;
|
||||||
|
@ -240,7 +243,13 @@ static int i915_gem_object_info(struct seq_file *m, void* data)
|
||||||
mappable_size += obj->gtt_space->size;
|
mappable_size += obj->gtt_space->size;
|
||||||
++mappable_count;
|
++mappable_count;
|
||||||
}
|
}
|
||||||
|
if (obj->madv == I915_MADV_DONTNEED) {
|
||||||
|
purgeable_size += obj->base.size;
|
||||||
|
++purgeable_count;
|
||||||
|
}
|
||||||
}
|
}
|
||||||
|
seq_printf(m, "%u purgeable objects, %zu bytes\n",
|
||||||
|
purgeable_count, purgeable_size);
|
||||||
seq_printf(m, "%u pinned mappable objects, %zu bytes\n",
|
seq_printf(m, "%u pinned mappable objects, %zu bytes\n",
|
||||||
mappable_count, mappable_size);
|
mappable_count, mappable_size);
|
||||||
seq_printf(m, "%u fault mappable objects, %zu bytes\n",
|
seq_printf(m, "%u fault mappable objects, %zu bytes\n",
|
||||||
|
|
Loading…
Reference in a new issue