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 <ch...@chris-wilson.co.uk> > >Cc: Tvrtko Ursulin <tvrtko.ursu...@intel.com> > >Cc: Joonas Lahtinen <joonas.lahti...@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 _______________________________________________ Intel-gfx mailing list Intel-gfx@lists.freedesktop.org https://lists.freedesktop.org/mailman/listinfo/intel-gfx