diff mbox

[02/29] drm/i915: Show (count, size) of purgeable objects in i915_gem_objects

Message ID 1344696088-24760-3-git-send-email-chris@chris-wilson.co.uk (mailing list archive)
State New, archived
Headers show

Commit Message

Chris Wilson Aug. 11, 2012, 2:41 p.m. UTC
Signed-off-by: Chris Wilson <chris@chris-wilson.co.uk>
---
 drivers/gpu/drm/i915/i915_debugfs.c |   19 ++++++++++++++-----
 1 file changed, 14 insertions(+), 5 deletions(-)

Comments

Daniel Vetter Aug. 20, 2012, 9:04 a.m. UTC | #1
On Sat, Aug 11, 2012 at 03:41:01PM +0100, Chris Wilson wrote:
> Signed-off-by: Chris Wilson <chris@chris-wilson.co.uk>
> ---
>  drivers/gpu/drm/i915/i915_debugfs.c |   19 ++++++++++++++-----
>  1 file changed, 14 insertions(+), 5 deletions(-)
> 
> diff --git a/drivers/gpu/drm/i915/i915_debugfs.c b/drivers/gpu/drm/i915/i915_debugfs.c
> index a7eb093..16e8701 100644
> --- a/drivers/gpu/drm/i915/i915_debugfs.c
> +++ b/drivers/gpu/drm/i915/i915_debugfs.c
> @@ -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_device *dev = node->minor->dev;
>  	struct drm_i915_private *dev_priv = dev->dev_private;
> -	u32 count, mappable_count;
> -	size_t size, mappable_size;
> +	u32 count, mappable_count, purgeable_count;
> +	size_t size, mappable_size, purgeable_size;
>  	struct drm_i915_gem_object *obj;
>  	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",
>  		   count, mappable_count, size, mappable_size);
>  
> -	size = count = 0;
> -	list_for_each_entry(obj, &dev_priv->mm.unbound_list, gtt_list)
> +	size = count = purgeable_size = purgeable_count = 0;
> +	list_for_each_entry(obj, &dev_priv->mm.unbound_list, gtt_list) {
>  		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);
>  
>  	size = count = mappable_size = mappable_count = 0;
> @@ -237,10 +240,16 @@ static int i915_gem_object_info(struct seq_file *m, void* data)
>  			++count;
>  		}
>  		if (obj->pin_mappable) {
> -			mappable_size += obj->gtt_space->size;
> +			mappable_size += obj->gtt_space->size,

That s/;/,/ here looks fishy. Shall I kill it when applying?
-Daniel

>  			++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",
>  		   mappable_count, mappable_size);
>  	seq_printf(m, "%u fault mappable objects, %zu bytes\n",
> -- 
> 1.7.10.4
> 
> _______________________________________________
> Intel-gfx mailing list
> Intel-gfx@lists.freedesktop.org
> http://lists.freedesktop.org/mailman/listinfo/intel-gfx
Chris Wilson Aug. 20, 2012, 9:17 a.m. UTC | #2
On Mon, 20 Aug 2012 11:04:52 +0200, Daniel Vetter <daniel@ffwll.ch> wrote:
> On Sat, Aug 11, 2012 at 03:41:01PM +0100, Chris Wilson wrote:
> > Signed-off-by: Chris Wilson <chris@chris-wilson.co.uk>
> >  		if (obj->pin_mappable) {
> > -			mappable_size += obj->gtt_space->size;
> > +			mappable_size += obj->gtt_space->size,
> 
> That s/;/,/ here looks fishy. Shall I kill it when applying?

Right that is an inoffensive cut'n'paste. Can be killed with glee.
-Chris
diff mbox

Patch

diff --git a/drivers/gpu/drm/i915/i915_debugfs.c b/drivers/gpu/drm/i915/i915_debugfs.c
index a7eb093..16e8701 100644
--- a/drivers/gpu/drm/i915/i915_debugfs.c
+++ b/drivers/gpu/drm/i915/i915_debugfs.c
@@ -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_device *dev = node->minor->dev;
 	struct drm_i915_private *dev_priv = dev->dev_private;
-	u32 count, mappable_count;
-	size_t size, mappable_size;
+	u32 count, mappable_count, purgeable_count;
+	size_t size, mappable_size, purgeable_size;
 	struct drm_i915_gem_object *obj;
 	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",
 		   count, mappable_count, size, mappable_size);
 
-	size = count = 0;
-	list_for_each_entry(obj, &dev_priv->mm.unbound_list, gtt_list)
+	size = count = purgeable_size = purgeable_count = 0;
+	list_for_each_entry(obj, &dev_priv->mm.unbound_list, gtt_list) {
 		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);
 
 	size = count = mappable_size = mappable_count = 0;
@@ -237,10 +240,16 @@  static int i915_gem_object_info(struct seq_file *m, void* data)
 			++count;
 		}
 		if (obj->pin_mappable) {
-			mappable_size += obj->gtt_space->size;
+			mappable_size += obj->gtt_space->size,
 			++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",
 		   mappable_count, mappable_size);
 	seq_printf(m, "%u fault mappable objects, %zu bytes\n",