drm/amdgpu: Print vmid, pasid and more task info in devcoredump
authorTimur Kristóf <timur.kristof@gmail.com>
Sat, 11 Jul 2026 11:21:07 +0000 (13:21 +0200)
committerAlex Deucher <alexander.deucher@amd.com>
Wed, 15 Jul 2026 13:15:41 +0000 (09:15 -0400)
These are in the dmesg logs but are missing from devcoredumps.

Signed-off-by: Timur Kristóf <timur.kristof@gmail.com>
Reviewed-by: Christian König <christian.koenig@amd.com>
Signed-off-by: Alex Deucher <alexander.deucher@amd.com>
drivers/gpu/drm/amd/amdgpu/amdgpu_dev_coredump.c
drivers/gpu/drm/amd/amdgpu/amdgpu_dev_coredump.h

index 4fd0df3..aaf091b 100644 (file)
@@ -356,10 +356,14 @@ amdgpu_devcoredump_format(char *buffer, size_t count, struct amdgpu_coredump_inf
        drm_printf(&p, "kernel: %s\n", init_utsname()->release);
        drm_printf(&p, "module: " KBUILD_MODNAME "\n");
        drm_printf(&p, "time: %ptSp\n", &coredump->reset_time);
+       drm_printf(&p, "pasid: %u\n", coredump->pasid);
+       drm_printf(&p, "vmid: %u\n", coredump->vmid);
 
        if (coredump->reset_task_info.task.pid)
-               drm_printf(&p, "process_name: %s PID: %d\n",
+               drm_printf(&p, "process_name: %s TGID: %d thread: %s PID: %d\n",
                           coredump->reset_task_info.process_name,
+                          coredump->reset_task_info.tgid,
+                          coredump->reset_task_info.task.comm,
                           coredump->reset_task_info.task.pid);
 
        /* SOC Information */
@@ -563,6 +567,7 @@ void amdgpu_coredump(struct amdgpu_device *adev, bool skip_vram_check,
                        amdgpu_vm_put_task_info(ti);
                }
                coredump->pasid = job->pasid;
+               coredump->vmid = job->vmid;
                coredump->num_ibs = job->num_ibs;
                for (i = 0; i < job->num_ibs; ++i) {
                        coredump->ibs[i].gpu_addr = job->ibs[i].gpu_addr;
index 2371e20..63f2733 100644 (file)
@@ -63,6 +63,7 @@ struct amdgpu_coredump_info {
        char                            *formatted;
 
        unsigned int                    pasid;
+       unsigned int                    vmid;
        int                             num_ibs;
        struct amdgpu_coredump_ib_info  ibs[] __counted_by(num_ibs);
 };