[Intel-gfx] [PATCH v2 11/11] drm/i915: Show context objects in debugfs/i915_gem_objects

Chris Wilson chris at chris-wilson.co.uk
Mon May 23 12:40:03 UTC 2016


On Mon, May 23, 2016 at 01:31:25PM +0100, Tvrtko Ursulin wrote:
> 
> On 23/05/16 12:34, Chris Wilson wrote:
> 
> Blah blah blah, this, for that, etc... commit message ofc. :)
> 
> >Signed-off-by: Chris Wilson <chris at chris-wilson.co.uk>
> >Cc: Tvrtko Ursulin <tvrtko.ursulin at intel.com>
> >Cc: Joonas Lahtinen <joonas.lahtinen at linux.intel.com>
> >---
> >  drivers/gpu/drm/i915/i915_debugfs.c | 35 +++++++++++++++++++++++++++++++++++
> >  1 file changed, 35 insertions(+)
> >
> >diff --git a/drivers/gpu/drm/i915/i915_debugfs.c b/drivers/gpu/drm/i915/i915_debugfs.c
> >index 30cb26fe2fa9..3d14eb3215e1 100644
> >--- a/drivers/gpu/drm/i915/i915_debugfs.c
> >+++ b/drivers/gpu/drm/i915/i915_debugfs.c
> >@@ -417,6 +417,40 @@ static void print_batch_pool_stats(struct seq_file *m,
> >  	print_file_stats(m, "[k]batch pool", stats);
> >  }
> >
> >+static int per_file_ctx_stats(int id, void *ptr, void *data)
> >+{
> >+	struct i915_gem_context *ctx = ptr;
> >+	int n;
> >+
> >+	for (n = 0; n < ARRAY_SIZE(ctx->engine); n++) {
> >+		if (ctx->engine[n].state)
> >+			per_file_stats(0, ctx->engine[n].state, data);
> >+		if (ctx->engine[n].ringbuf)
> >+			per_file_stats(0, ctx->engine[n].ringbuf->obj, data);
> >+	}
> >+
> >+	return 0;
> >+}
> >+
> >+static void print_context_stats(struct seq_file *m,
> >+				struct drm_i915_private *dev_priv)
> >+{
> >+	struct file_stats stats;
> >+	struct drm_file *file;
> >+
> >+	memset(&stats, 0, sizeof(stats));
> >+
> >+	if (dev_priv->kernel_context)
> >+		per_file_ctx_stats(0, dev_priv->kernel_context, &stats);
> >+
> >+	list_for_each_entry(file, &dev_priv->dev->filelist, lhead) {
> 
> Existing code which iterates this list grabs dev->filelist_mutex ?

Recent invention, curses Daniel!
-Chris

-- 
Chris Wilson, Intel Open Source Technology Centre


More information about the Intel-gfx mailing list