[Intel-gfx] [PATCH 08/12] drm/i915: Show i915_gem_context owner in debugfs

Tvrtko Ursulin tvrtko.ursulin at linux.intel.com
Mon May 23 09:42:42 UTC 2016



On 22/05/16 14:02, Chris Wilson wrote:
> Print the context's owner (via the pid under file_priv) under debugfs.
>
> Note that since this was originally introducing
> dev_priv->kernel_context, there are a couple of leftover minor chunks.
>
> 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 | 17 +++++++++++++++--
>   1 file changed, 15 insertions(+), 2 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;

Hm, can you deref file_priv after the file has been closed / client 
exited? We could still have the context on the list after that point..

> +			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);
> +			}
> +		} 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');
>

Regards,

Tvrtko


More information about the Intel-gfx mailing list