diff options
| author | Chia-I Wu <olvaffe@gmail.com> | 2025-07-17 23:38:15 -0700 |
|---|---|---|
| committer | Steven Price <steven.price@arm.com> | 2025-07-24 13:42:57 +0100 |
| commit | 33b9cb6dcda2520600ac4fec725946af32c2e586 (patch) | |
| tree | da854498b483fb7a09562e6994ee4f12c5f9372d /drivers | |
| parent | panthor: set owner field for driver fops (diff) | |
| download | linux-33b9cb6dcda2520600ac4fec725946af32c2e586.tar.gz linux-33b9cb6dcda2520600ac4fec725946af32c2e586.zip | |
panthor: save task pid and comm in panthor_group
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@gmail.com>
Reviewed-by: Steven Price <steven.price@arm.com>
Signed-off-by: Steven Price <steven.price@arm.com>
Link: https://lore.kernel.org/r/20250718063816.1452123-3-olvaffe@gmail.com
Diffstat (limited to 'drivers')
| -rw-r--r-- | drivers/gpu/drm/panthor/panthor_sched.c | 19 |
1 files changed, 19 insertions, 0 deletions
diff --git a/drivers/gpu/drm/panthor/panthor_sched.c b/drivers/gpu/drm/panthor/panthor_sched.c index 8f17394cc82a..9f4d04214053 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 { + /** @task_info.pid: pid of current->group_leader */ + pid_t pid; + + /** @task_info.comm: comm of current->group_leader */ + char comm[TASK_COMM_LEN]; + } task_info; + /** @state: Group state. */ enum panthor_group_state state; @@ -3389,6 +3398,14 @@ err_free_queue: 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: |
