[PATCH] drm/debugfs: add client-id to the debugfs entry
Christian König
christian.koenig at amd.com
Wed May 28 11:00:39 UTC 2025
Adding some people who worked on the client name and client id fields.
On 5/28/25 09:22, Sunil Khatri wrote:
> pid is not always the right choice for fd to track
> the caller and hence adding drm client-id to the
> print which is unique for a drm client and can be
> used by driver in debugging
>
> One of the use is to further enhance debugging for
> amdgpu driver based on client-id.
>
> Signed-off-by: Sunil Khatri <sunil.khatri at amd.com>
> ---
> drivers/gpu/drm/drm_debugfs.c | 9 +++++----
> 1 file changed, 5 insertions(+), 4 deletions(-)
>
> diff --git a/drivers/gpu/drm/drm_debugfs.c b/drivers/gpu/drm/drm_debugfs.c
> index 6b2178864c7e..2d43bda82887 100644
> --- a/drivers/gpu/drm/drm_debugfs.c
> +++ b/drivers/gpu/drm/drm_debugfs.c
> @@ -77,14 +77,15 @@ static int drm_clients_info(struct seq_file *m, void *data)
> kuid_t uid;
>
> seq_printf(m,
> - "%20s %5s %3s master a %5s %10s %*s\n",
> + "%20s %5s %3s master a %5s %10s %*s %5s\n",
> "command",
> "tgid",
> "dev",
> "uid",
> "magic",
> DRM_CLIENT_NAME_MAX_LEN,
> - "name");
> + "name",
> + "client-id");
It might make sense to print the client id first and then the name.
Apart from that looks sane to me.
Regards,
Christian.
>
> /* dev->filelist is sorted youngest first, but we want to present
> * oldest first (i.e. kernel, servers, clients), so walk backwardss.
> @@ -100,7 +101,7 @@ static int drm_clients_info(struct seq_file *m, void *data)
> pid = rcu_dereference(priv->pid);
> task = pid_task(pid, PIDTYPE_TGID);
> uid = task ? __task_cred(task)->euid : GLOBAL_ROOT_UID;
> - seq_printf(m, "%20s %5d %3d %c %c %5d %10u %*s\n",
> + seq_printf(m, "%20s %5d %3d %c %c %5d %10u %*s %5llu\n",
> task ? task->comm : "<unknown>",
> pid_vnr(pid),
> priv->minor->index,
> @@ -109,7 +110,7 @@ static int drm_clients_info(struct seq_file *m, void *data)
> from_kuid_munged(seq_user_ns(m), uid),
> priv->magic,
> DRM_CLIENT_NAME_MAX_LEN,
> - priv->client_name ? priv->client_name : "<unset>");
> + priv->client_name ? priv->client_name : "<unset>", priv->client_id);
> rcu_read_unlock();
> mutex_unlock(&priv->client_name_lock);
> }
More information about the dri-devel
mailing list