From: Joonas Lahtinen <joonas.lahtinen@linux.intel.com>
To: Chris Wilson <chris@chris-wilson.co.uk>, intel-gfx@lists.freedesktop.org
Subject: Re: [PATCH v2 07/11] drm/i915: Show i915_gem_context owner in debugfs
Date: Wed, 25 May 2016 12:18:59 +0300 [thread overview]
Message-ID: <1464167939.4875.5.camel@linux.intel.com> (raw)
In-Reply-To: <1464003258-23669-8-git-send-email-chris@chris-wilson.co.uk>
On ma, 2016-05-23 at 12:34 +0100, Chris Wilson wrote:
> Print the context's owner (via the pid under file_priv) under debugfs.
> In doing so, we must be careful that the filp is not accessed after it
> is freed (notified via i915_gem_context_close).
>
> v2: Mark the file_priv as closed.
>
> Signed-off-by: Chris Wilson <chris@chris-wilson.co.uk>
> Cc: Tvrtko Ursulin <tvrtko.ursulin@intel.com>
> Cc: Joonas Lahtinen <joonas.lahtinen@linux.intel.com>
> ---
> drivers/gpu/drm/i915/i915_debugfs.c | 17 +++++++++++++++--
> drivers/gpu/drm/i915/i915_gem_context.c | 3 ++-
> 2 files changed, 17 insertions(+), 3 deletions(-)
>
> diff --git a/drivers/gpu/drm/i915/i915_debugfs.c b/drivers/gpu/drm/i915/i915_debugfs.c
> index ae28e6e9d603..945fe4710b37 100644
> --- a/drivers/gpu/drm/i915/i915_debugfs.c
> +++ b/drivers/gpu/drm/i915/i915_debugfs.c
> @@ -2014,9 +2014,22 @@ static int i915_context_status(struct seq_file *m, void *unused)
> continue;
>
> seq_printf(m, "HW context %u ", ctx->hw_id);
> + if (IS_ERR(ctx->file_priv)) {
> + seq_puts(m, "(deleted) ");
> + } else if (ctx->file_priv) {
> + struct pid *pid = ctx->file_priv->file->pid;
> + struct task_struct *task;
> +
> + task = get_pid_task(pid, PIDTYPE_PID);
> + if (task) {
> + seq_printf(m, "(%s [%d]) ",
> + task->comm, task->pid);
> + put_task_struct(task);
> + }
What if no task, should we display something still?
> + } else
> + seq_puts(m, "(kernel) ");
> +
> describe_ctx(m, ctx);
> - if (ctx == dev_priv->kernel_context)
> - seq_printf(m, "(kernel context) ");
>
> if (i915.enable_execlists) {
> seq_putc(m, '\n');
> diff --git a/drivers/gpu/drm/i915/i915_gem_context.c b/drivers/gpu/drm/i915/i915_gem_context.c
> index 474174c20be2..e552c936d262 100644
> --- a/drivers/gpu/drm/i915/i915_gem_context.c
> +++ b/drivers/gpu/drm/i915/i915_gem_context.c
> @@ -468,6 +468,7 @@ static int context_idr_cleanup(int id, void *p, void *data)
> {
> struct i915_gem_context *ctx = p;
>
> + ctx->file_priv = ERR_PTR(-EBADF);
> i915_gem_context_put(ctx);
> return 0;
> }
> @@ -936,7 +937,7 @@ int i915_gem_context_destroy_ioctl(struct drm_device *dev, void *data,
> return PTR_ERR(ctx);
> }
>
> - idr_remove(&ctx->file_priv->context_idr, ctx->user_handle);
> + idr_remove(&file_priv->context_idr, ctx->user_handle);
> i915_gem_context_put(ctx);
> mutex_unlock(&dev->struct_mutex);
>
--
Joonas Lahtinen
Open Source Technology Center
Intel Corporation
_______________________________________________
Intel-gfx mailing list
Intel-gfx@lists.freedesktop.org
https://lists.freedesktop.org/mailman/listinfo/intel-gfx
next prev parent reply other threads:[~2016-05-25 9:19 UTC|newest]
Thread overview: 42+ messages / expand[flat|nested] mbox.gz Atom feed top
2016-05-23 11:34 Context churn Chris Wilson
2016-05-23 11:34 ` [PATCH v2 01/11] drm/i915: Rename struct intel_context Chris Wilson
2016-05-23 11:34 ` [PATCH v2 02/11] drm/i915: Apply lockdep annotations to i915_gem_context.c Chris Wilson
2016-05-23 11:34 ` [PATCH v2 03/11] drm/i915: Rename and inline i915_gem_context_get() Chris Wilson
2016-05-23 11:34 ` [PATCH v2 04/11] drm/i915: Rename i915_gem_context_reference/unreference() Chris Wilson
2016-05-24 11:21 ` Chris Wilson
2016-05-23 11:34 ` [PATCH v2 05/11] drm/i915: Name the inner most per-engine intel_context struct Chris Wilson
2016-05-23 11:34 ` [PATCH v2 06/11] drm/i915: Move pinning of dev_priv->kernel_context into its creator Chris Wilson
2016-05-23 12:09 ` Tvrtko Ursulin
2016-05-23 12:16 ` Chris Wilson
2016-05-23 12:23 ` Tvrtko Ursulin
2016-05-25 9:25 ` Joonas Lahtinen
2016-05-23 11:34 ` [PATCH v2 07/11] drm/i915: Show i915_gem_context owner in debugfs Chris Wilson
2016-05-23 12:18 ` Tvrtko Ursulin
2016-05-25 9:18 ` Joonas Lahtinen [this message]
2016-05-23 11:34 ` [PATCH v2 08/11] drm/i915: Put the kernel_context in drm_i915_private next to its friends Chris Wilson
2016-05-23 11:34 ` [PATCH v2 09/11] drm/i915: Merge legacy+execlists context structs Chris Wilson
2016-05-23 11:34 ` [PATCH v2 10/11] drm/i915: Rearrange i915_gem_context Chris Wilson
2016-05-25 9:15 ` Joonas Lahtinen
2016-05-23 11:34 ` [PATCH v2 11/11] drm/i915: Show context objects in debugfs/i915_gem_objects Chris Wilson
2016-05-23 12:31 ` Tvrtko Ursulin
2016-05-23 12:40 ` Chris Wilson
2016-05-23 13:01 ` [PATCH v3] drm/i915/debugfs: Show context objects in i915_gem_objects Chris Wilson
2016-05-23 13:42 ` kbuild test robot
2016-05-23 13:50 ` kbuild test robot
2016-05-24 11:15 ` Tvrtko Ursulin
2016-05-25 9:55 ` Joonas Lahtinen
2016-05-25 10:00 ` Chris Wilson
2016-05-25 9:33 ` [PATCH v2 11/11] drm/i915: Show context objects in debugfs/i915_gem_objects Joonas Lahtinen
2016-05-23 12:01 ` ✓ Ro.CI.BAT: success for series starting with [v2,01/11] drm/i915: Rename struct intel_context Patchwork
2016-05-23 14:30 ` ✗ Ro.CI.BAT: failure for series starting with [v2,01/11] drm/i915: Rename struct intel_context (rev2) Patchwork
2016-05-24 13:53 ` [CI 01/10] drm/i915: Rename struct intel_context Chris Wilson
2016-05-24 13:53 ` [CI 02/10] drm/i915: Apply lockdep annotations to i915_gem_context.c Chris Wilson
2016-05-24 13:53 ` [CI 03/10] drm/i915: Rename and inline i915_gem_context_get() Chris Wilson
2016-05-24 13:53 ` [CI 04/10] drm/i915: Name the inner most per-engine intel_context struct Chris Wilson
2016-05-24 13:53 ` [CI 05/10] drm/i915: Move pinning of dev_priv->kernel_context into its creator Chris Wilson
2016-05-24 13:53 ` [CI 06/10] drm/i915: Show i915_gem_context owner in debugfs Chris Wilson
2016-05-24 13:53 ` [CI 07/10] drm/i915: Put the kernel_context in drm_i915_private next to its friends Chris Wilson
2016-05-24 13:53 ` [CI 08/10] drm/i915: Merge legacy+execlists context structs Chris Wilson
2016-05-24 13:53 ` [CI 09/10] drm/i915: Rearrange i915_gem_context Chris Wilson
2016-05-24 13:53 ` [CI 10/10] drm/i915/debugfs: Show context objects in i915_gem_objects Chris Wilson
2016-05-24 14:19 ` ✗ Ro.CI.BAT: warning for series starting with [v2,01/11] drm/i915: Rename struct intel_context (rev10) Patchwork
Reply instructions:
You may reply publicly to this message via plain-text email
using any one of the following methods:
* Save the following mbox file, import it into your mail client,
and reply-to-all from there: mbox
Avoid top-posting and favor interleaved quoting:
https://en.wikipedia.org/wiki/Posting_style#Interleaved_style
* Reply using the --to, --cc, and --in-reply-to
switches of git-send-email(1):
git send-email \
--in-reply-to=1464167939.4875.5.camel@linux.intel.com \
--to=joonas.lahtinen@linux.intel.com \
--cc=chris@chris-wilson.co.uk \
--cc=intel-gfx@lists.freedesktop.org \
/path/to/YOUR_REPLY
https://kernel.org/pub/software/scm/git/docs/git-send-email.html
* If your mail client supports setting the In-Reply-To header
via mailto: links, try the mailto: link
Be sure your reply has a Subject: header at the top and a blank line
before the message body.
This is an external index of several public inboxes,
see mirroring instructions on how to clone and mirror
all data and code used by this external index.