* [PATCH v2] drm/amdgpu: Add trace events for pid register/deregister
@ 2026-08-07 13:42 David Francis
2026-08-07 16:05 ` Khatri, Sunil
0 siblings, 1 reply; 2+ messages in thread
From: David Francis @ 2026-08-07 13:42 UTC (permalink / raw)
To: amd-gfx; +Cc: David Francis, Sunil Khatri
Some debugging applications need to track when a process starts
or stops using the amdgpu driver. For those processes, add ftrace
events that track when a amdgpu_vm task info is changed or destroyed.
v2: Deregister in fini, not destroy.
cc: Sunil Khatri <Sunil.Khatri@amd.com>
Signed-off-by: David Francis <David.Francis@amd.com>
---
drivers/gpu/drm/amd/amdgpu/amdgpu_trace.h | 17 +++++++++++++++++
drivers/gpu/drm/amd/amdgpu/amdgpu_vm.c | 7 +++++++
2 files changed, 24 insertions(+)
diff --git a/drivers/gpu/drm/amd/amdgpu/amdgpu_trace.h b/drivers/gpu/drm/amd/amdgpu/amdgpu_trace.h
index 5324030a13f5..2aeda13e49dd 100644
--- a/drivers/gpu/drm/amd/amdgpu/amdgpu_trace.h
+++ b/drivers/gpu/drm/amd/amdgpu/amdgpu_trace.h
@@ -732,6 +732,23 @@ TRACE_EVENT(amdgpu_userq_state_changed,
__entry->client_id, __entry->queue_type, __entry->doorbell_index, __entry->to)
);
+TRACE_EVENT(amdgpu_register_pid,
+ TP_PROTO(uint32_t pid),
+ TP_ARGS(pid),
+ TP_STRUCT__entry(__field(uint32_t, pid)),
+ TP_fast_assign(__entry->pid = pid;),
+ TP_printk("amdgpu register pid %d",
+ __entry->pid)
+);
+TRACE_EVENT(amdgpu_deregister_pid,
+ TP_PROTO(uint32_t pid),
+ TP_ARGS(pid),
+ TP_STRUCT__entry(__field(uint32_t, pid)),
+ TP_fast_assign(__entry->pid = pid;),
+ TP_printk("amdgpu deregister pid %d",
+ __entry->pid)
+);
+
#undef AMDGPU_JOB_GET_TIMELINE_NAME
#endif
diff --git a/drivers/gpu/drm/amd/amdgpu/amdgpu_vm.c b/drivers/gpu/drm/amd/amdgpu/amdgpu_vm.c
index aac8ace9d7a6..48a725a0154e 100644
--- a/drivers/gpu/drm/amd/amdgpu/amdgpu_vm.c
+++ b/drivers/gpu/drm/amd/amdgpu/amdgpu_vm.c
@@ -2543,6 +2543,10 @@ void amdgpu_vm_set_task_info(struct amdgpu_vm *vm)
if (vm->task_info->task.pid == current->pid)
return;
+ if (vm->task_info->task.pid)
+ trace_amdgpu_deregister_pid(vm->task_info->task.pid);
+ trace_amdgpu_register_pid(current->pid);
+
vm->task_info->task.pid = current->pid;
get_task_comm(vm->task_info->task.comm, current);
@@ -2803,6 +2807,9 @@ void amdgpu_vm_fini(struct amdgpu_device *adev, struct amdgpu_vm *vm)
ti->process_name, ti->task.pid, ti->task.comm, ti->tgid);
}
+ if (vm->task_info->task.pid)
+ trace_amdgpu_deregister_pid(vm->task_info->task.pid);
+
amdgpu_vm_put_task_info(vm->task_info);
}
--
2.34.1
^ permalink raw reply related [flat|nested] 2+ messages in thread
* RE: [PATCH v2] drm/amdgpu: Add trace events for pid register/deregister
2026-08-07 13:42 [PATCH v2] drm/amdgpu: Add trace events for pid register/deregister David Francis
@ 2026-08-07 16:05 ` Khatri, Sunil
0 siblings, 0 replies; 2+ messages in thread
From: Khatri, Sunil @ 2026-08-07 16:05 UTC (permalink / raw)
To: Francis, David, amd-gfx@lists.freedesktop.org, Koenig, Christian
AMD General
Acked-by: Sunil Khatri <sunil.khatri@amd.com>
+@Koenig, Christian
-----Original Message-----
From: Francis, David <David.Francis@amd.com>
Sent: Friday, August 7, 2026 7:13 PM
To: amd-gfx@lists.freedesktop.org
Cc: Francis, David <David.Francis@amd.com>; Khatri, Sunil <Sunil.Khatri@amd.com>
Subject: [PATCH v2] drm/amdgpu: Add trace events for pid register/deregister
Some debugging applications need to track when a process starts or stops using the amdgpu driver. For those processes, add ftrace events that track when a amdgpu_vm task info is changed or destroyed.
v2: Deregister in fini, not destroy.
cc: Sunil Khatri <Sunil.Khatri@amd.com>
Signed-off-by: David Francis <David.Francis@amd.com>
---
drivers/gpu/drm/amd/amdgpu/amdgpu_trace.h | 17 +++++++++++++++++
drivers/gpu/drm/amd/amdgpu/amdgpu_vm.c | 7 +++++++
2 files changed, 24 insertions(+)
diff --git a/drivers/gpu/drm/amd/amdgpu/amdgpu_trace.h b/drivers/gpu/drm/amd/amdgpu/amdgpu_trace.h
index 5324030a13f5..2aeda13e49dd 100644
--- a/drivers/gpu/drm/amd/amdgpu/amdgpu_trace.h
+++ b/drivers/gpu/drm/amd/amdgpu/amdgpu_trace.h
@@ -732,6 +732,23 @@ TRACE_EVENT(amdgpu_userq_state_changed,
__entry->client_id, __entry->queue_type, __entry->doorbell_index, __entry->to) );
+TRACE_EVENT(amdgpu_register_pid,
+ TP_PROTO(uint32_t pid),
+ TP_ARGS(pid),
+ TP_STRUCT__entry(__field(uint32_t, pid)),
+ TP_fast_assign(__entry->pid = pid;),
+ TP_printk("amdgpu register pid %d",
+ __entry->pid)
+);
+TRACE_EVENT(amdgpu_deregister_pid,
+ TP_PROTO(uint32_t pid),
+ TP_ARGS(pid),
+ TP_STRUCT__entry(__field(uint32_t, pid)),
+ TP_fast_assign(__entry->pid = pid;),
+ TP_printk("amdgpu deregister pid %d",
+ __entry->pid)
+);
+
#undef AMDGPU_JOB_GET_TIMELINE_NAME
#endif
diff --git a/drivers/gpu/drm/amd/amdgpu/amdgpu_vm.c b/drivers/gpu/drm/amd/amdgpu/amdgpu_vm.c
index aac8ace9d7a6..48a725a0154e 100644
--- a/drivers/gpu/drm/amd/amdgpu/amdgpu_vm.c
+++ b/drivers/gpu/drm/amd/amdgpu/amdgpu_vm.c
@@ -2543,6 +2543,10 @@ void amdgpu_vm_set_task_info(struct amdgpu_vm *vm)
if (vm->task_info->task.pid == current->pid)
return;
+ if (vm->task_info->task.pid)
+ trace_amdgpu_deregister_pid(vm->task_info->task.pid);
+ trace_amdgpu_register_pid(current->pid);
+
vm->task_info->task.pid = current->pid;
get_task_comm(vm->task_info->task.comm, current);
@@ -2803,6 +2807,9 @@ void amdgpu_vm_fini(struct amdgpu_device *adev, struct amdgpu_vm *vm)
ti->process_name, ti->task.pid, ti->task.comm, ti->tgid);
}
+ if (vm->task_info->task.pid)
+ trace_amdgpu_deregister_pid(vm->task_info->task.pid);
+
amdgpu_vm_put_task_info(vm->task_info);
}
--
2.34.1
^ permalink raw reply related [flat|nested] 2+ messages in thread
end of thread, other threads:[~2026-08-07 16:05 UTC | newest]
Thread overview: 2+ messages (download: mbox.gz follow: Atom feed
-- links below jump to the message on this page --
2026-08-07 13:42 [PATCH v2] drm/amdgpu: Add trace events for pid register/deregister David Francis
2026-08-07 16:05 ` Khatri, Sunil
This is an external index of several public inboxes,
see mirroring instructions on how to clone and mirror
all data and code used by this external index.