Message ID | 20241114100113.150647-2-pierre-eric.pelloux-prayer@amd.com (mailing list archive) |
---|---|
State | New, archived |
Headers | show |
Series | Improve gpu_scheduler trace events + uAPI | expand |
On Thu, 2024-11-14 at 11:01 +0100, Pierre-Eric Pelloux-Prayer wrote: > client_id is a unique id used by fdinfo. Having it listed in > 'clients' > output means a userspace application can correlate the fields, eg: > given a fdinfo id get the fdinfo name. > > Signed-off-by: Pierre-Eric Pelloux-Prayer > <pierre-eric.pelloux-prayer@amd.com> > --- > drivers/gpu/drm/drm_debugfs.c | 10 ++++++---- > 1 file changed, 6 insertions(+), 4 deletions(-) > > diff --git a/drivers/gpu/drm/drm_debugfs.c > b/drivers/gpu/drm/drm_debugfs.c > index 536409a35df4..4c0bd0cb5480 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 %20s\n", > "command", > "tgid", > "dev", > "uid", > "magic", > DRM_CLIENT_NAME_MAX_LEN, > - "name"); > + "name", > + "id"); > > /* 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 > %20lld\n", > task ? task->comm : "<unknown>", > pid_vnr(pid), > priv->minor->index, > @@ -109,7 +110,8 @@ 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); Similarly to Tvrtko's comment on the other patch: drm_file.client_id is a u64, so we don't have to print it signed with %20lld, do we? P. > rcu_read_unlock(); > mutex_unlock(&priv->client_name_lock); > }
diff --git a/drivers/gpu/drm/drm_debugfs.c b/drivers/gpu/drm/drm_debugfs.c index 536409a35df4..4c0bd0cb5480 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 %20s\n", "command", "tgid", "dev", "uid", "magic", DRM_CLIENT_NAME_MAX_LEN, - "name"); + "name", + "id"); /* 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 %20lld\n", task ? task->comm : "<unknown>", pid_vnr(pid), priv->minor->index, @@ -109,7 +110,8 @@ 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); }
client_id is a unique id used by fdinfo. Having it listed in 'clients' output means a userspace application can correlate the fields, eg: given a fdinfo id get the fdinfo name. Signed-off-by: Pierre-Eric Pelloux-Prayer <pierre-eric.pelloux-prayer@amd.com> --- drivers/gpu/drm/drm_debugfs.c | 10 ++++++---- 1 file changed, 6 insertions(+), 4 deletions(-)