[<prev] [next>] [<thread-prev] [thread-next>] [day] [month] [year] [list]
Message-ID: <2aee25e2-b9cd-4f86-80dd-9d9881c036c8@arm.com>
Date: Thu, 17 Jul 2025 16:24:12 +0100
From: Steven Price <steven.price@....com>
To: Chia-I Wu <olvaffe@...il.com>,
Boris Brezillon <boris.brezillon@...labora.com>,
Liviu Dudau <liviu.dudau@....com>,
Maarten Lankhorst <maarten.lankhorst@...ux.intel.com>,
Maxime Ripard <mripard@...nel.org>, Thomas Zimmermann <tzimmermann@...e.de>,
David Airlie <airlied@...il.com>, Simona Vetter <simona@...ll.ch>,
dri-devel@...ts.freedesktop.org, linux-kernel@...r.kernel.org
Subject: Re: [PATCH v2 2/3] panthor: save task pid and comm in panthor_group
On 13/07/2025 04:08, Chia-I Wu wrote:
> We would like to report them on gpu errors.
>
> We choose to save the info on panthor_group_create rather than on
> panthor_open because, when the two differ, we are more interested in the
> task that created the group.
>
> Signed-off-by: Chia-I Wu <olvaffe@...il.com>
One nit below, but with that fixed:
Reviewed-by: Steven Price <steven.price@....com>
>
> ---
> v2: save to panthor_group on panthor_group_create rather than to
> panthor_file on panthor_open
> ---
> drivers/gpu/drm/panthor/panthor_sched.c | 19 +++++++++++++++++++
> 1 file changed, 19 insertions(+)
>
> diff --git a/drivers/gpu/drm/panthor/panthor_sched.c b/drivers/gpu/drm/panthor/panthor_sched.c
> index a2248f692a030..823b0fe678ba6 100644
> --- a/drivers/gpu/drm/panthor/panthor_sched.c
> +++ b/drivers/gpu/drm/panthor/panthor_sched.c
> @@ -641,6 +641,15 @@ struct panthor_group {
> size_t kbo_sizes;
> } fdinfo;
>
> + /** @task_info: Info of current->group_leader that created the group. */
> + struct {
> + /** @pid: pid of current->group_leader */
> + pid_t pid;
> +
> + /** @comm: comm of current->group_leader */
> + char comm[TASK_COMM_LEN];
As the kernel test robot reports, this kerneldoc isn't quite right.
We've got other issues in this file but you need to specify the struct
name as well, i.e.:
/** @task_info.pid: pid of current->group_leader */
pid_t pid;
/** @task_info.comm: comm of current->group_leader */
char comm[TASK_COMM_LEN];
It's been on my TODO list for a while to fix the rest of the file...
Thanks,
Steve
> + } task_info;
> +
> /** @state: Group state. */
> enum panthor_group_state state;
>
> @@ -3389,6 +3398,14 @@ group_create_queue(struct panthor_group *group,
> return ERR_PTR(ret);
> }
>
> +static void group_init_task_info(struct panthor_group *group)
> +{
> + struct task_struct *task = current->group_leader;
> +
> + group->task_info.pid = task->pid;
> + get_task_comm(group->task_info.comm, task);
> +}
> +
> static void add_group_kbo_sizes(struct panthor_device *ptdev,
> struct panthor_group *group)
> {
> @@ -3540,6 +3557,8 @@ int panthor_group_create(struct panthor_file *pfile,
> add_group_kbo_sizes(group->ptdev, group);
> spin_lock_init(&group->fdinfo.lock);
>
> + group_init_task_info(group);
> +
> return gid;
>
> err_put_group:
Powered by blists - more mailing lists