diff options
| author | Pierre-Eric Pelloux-Prayer <pierre-eric.pelloux-prayer@amd.com> | 2025-06-04 15:28:23 +0300 | 
|---|---|---|
| committer | Arunpravin Paneer Selvam <Arunpravin.PaneerSelvam@amd.com> | 2025-09-01 08:19:31 +0300 | 
| commit | 256576ed6895b81290690ae3e2b9f62eb7c642fc (patch) | |
| tree | f1b3f411174eb8156930a30d1d5ba0b1f3e28f7c /drivers/gpu/drm/amd/amdgpu/amdgpu_vm_cpu.c | |
| parent | f3e82936857b3bd77b824ecd2fa7839dd99ec0c6 (diff) | |
| download | linux-256576ed6895b81290690ae3e2b9f62eb7c642fc.tar.xz | |
drm/amdgpu: give each kernel job a unique id
Userspace jobs have drm_file.client_id as a unique identifier
as job's owners. For kernel jobs, we can allocate arbitrary
values - the risk of overlap with userspace ids is small (given
that it's a u64 value).
In the unlikely case the overlap happens, it'll only impact
trace events.
Since this ID is traced in the gpu_scheduler trace events, this
allows to determine the source of each job sent to the hardware.
To make grepping easier, the IDs are defined as they will appear
in the trace output.
Signed-off-by: Pierre-Eric Pelloux-Prayer <pierre-eric.pelloux-prayer@amd.com>
Acked-by: Alex Deucher <alexander.deucher@amd.com>
Signed-off-by: Arunpravin Paneer Selvam <Arunpravin.PaneerSelvam@amd.com>
Link: https://lore.kernel.org/r/20250604122827.2191-1-pierre-eric.pelloux-prayer@amd.com
Diffstat (limited to 'drivers/gpu/drm/amd/amdgpu/amdgpu_vm_cpu.c')
| -rw-r--r-- | drivers/gpu/drm/amd/amdgpu/amdgpu_vm_cpu.c | 4 | 
1 files changed, 3 insertions, 1 deletions
| diff --git a/drivers/gpu/drm/amd/amdgpu/amdgpu_vm_cpu.c b/drivers/gpu/drm/amd/amdgpu/amdgpu_vm_cpu.c index 0c1ef5850a5e..22e2e5b47341 100644 --- a/drivers/gpu/drm/amd/amdgpu/amdgpu_vm_cpu.c +++ b/drivers/gpu/drm/amd/amdgpu/amdgpu_vm_cpu.c @@ -40,12 +40,14 @@ static int amdgpu_vm_cpu_map_table(struct amdgpu_bo_vm *table)   *   * @p: see amdgpu_vm_update_params definition   * @sync: sync obj with fences to wait on + * @k_job_id: the id for tracing/debug purposes   *   * Returns:   * Negativ errno, 0 for success.   */  static int amdgpu_vm_cpu_prepare(struct amdgpu_vm_update_params *p, -				 struct amdgpu_sync *sync) +				 struct amdgpu_sync *sync, +				 u64 k_job_id)  {  	if (!sync)  		return 0; | 
