On 6/13/25 20:43, André Almeida wrote: > To avoid repetitive code in amdgpu, create a function that prints the > content of struct amdgpu_task_info. > > Signed-off-by: André Almeida <andrealm...@igalia.com> > --- > v7: new patch > --- > drivers/gpu/drm/amd/amdgpu/amdgpu_job.c | 4 +--- > drivers/gpu/drm/amd/amdgpu/amdgpu_vm.c | 9 +++++++++ > drivers/gpu/drm/amd/amdgpu/amdgpu_vm.h | 3 +++ > drivers/gpu/drm/amd/amdgpu/gmc_v10_0.c | 5 +---- > drivers/gpu/drm/amd/amdgpu/gmc_v11_0.c | 5 +---- > drivers/gpu/drm/amd/amdgpu/gmc_v12_0.c | 5 +---- > drivers/gpu/drm/amd/amdgpu/gmc_v8_0.c | 4 +--- > drivers/gpu/drm/amd/amdgpu/gmc_v9_0.c | 5 +---- > 8 files changed, 18 insertions(+), 22 deletions(-) > > diff --git a/drivers/gpu/drm/amd/amdgpu/amdgpu_job.c > b/drivers/gpu/drm/amd/amdgpu/amdgpu_job.c > index 75262ce8db27..3d887428ca2b 100644 > --- a/drivers/gpu/drm/amd/amdgpu/amdgpu_job.c > +++ b/drivers/gpu/drm/amd/amdgpu/amdgpu_job.c > @@ -124,9 +124,7 @@ static enum drm_gpu_sched_stat amdgpu_job_timedout(struct > drm_sched_job *s_job) > > ti = amdgpu_vm_get_task_info_pasid(ring->adev, job->pasid); > if (ti) { > - dev_err(adev->dev, > - "Process information: process %s pid %d thread %s pid > %d\n", > - ti->process_name, ti->tgid, ti->task_name, ti->pid); > + amdgpu_vm_print_task_info(adev, ti); > amdgpu_vm_put_task_info(ti); > } > > diff --git a/drivers/gpu/drm/amd/amdgpu/amdgpu_vm.c > b/drivers/gpu/drm/amd/amdgpu/amdgpu_vm.c > index 3911c78f8282..f2a0132521c2 100644 > --- a/drivers/gpu/drm/amd/amdgpu/amdgpu_vm.c > +++ b/drivers/gpu/drm/amd/amdgpu/amdgpu_vm.c > @@ -3156,3 +3156,12 @@ bool amdgpu_vm_is_bo_always_valid(struct amdgpu_vm > *vm, struct amdgpu_bo *bo) > { > return bo && bo->tbo.base.resv == vm->root.bo->tbo.base.resv; > } > + > +inline void amdgpu_vm_print_task_info(struct amdgpu_device *adev, > + struct amdgpu_task_info *task_info)
Please drop the inline, neither performance critical nor really applicable. Apart from that looks good to me. Regards, Christian. > +{ > + dev_err(adev->dev, > + " Process %s pid %d thread %s pid %d\n", > + task_info->process_name, task_info->tgid, > + task_info->task_name, task_info->pid); > +} > diff --git a/drivers/gpu/drm/amd/amdgpu/amdgpu_vm.h > b/drivers/gpu/drm/amd/amdgpu/amdgpu_vm.h > index f3ad687125ad..3862a256b9b8 100644 > --- a/drivers/gpu/drm/amd/amdgpu/amdgpu_vm.h > +++ b/drivers/gpu/drm/amd/amdgpu/amdgpu_vm.h > @@ -668,4 +668,7 @@ void amdgpu_vm_tlb_fence_create(struct amdgpu_device > *adev, > struct amdgpu_vm *vm, > struct dma_fence **fence); > > +inline void amdgpu_vm_print_task_info(struct amdgpu_device *adev, > + struct amdgpu_task_info *task_info); > + > #endif > diff --git a/drivers/gpu/drm/amd/amdgpu/gmc_v10_0.c > b/drivers/gpu/drm/amd/amdgpu/gmc_v10_0.c > index a3e2787501f1..7923f491cf73 100644 > --- a/drivers/gpu/drm/amd/amdgpu/gmc_v10_0.c > +++ b/drivers/gpu/drm/amd/amdgpu/gmc_v10_0.c > @@ -164,10 +164,7 @@ static int gmc_v10_0_process_interrupt(struct > amdgpu_device *adev, > entry->src_id, entry->ring_id, entry->vmid, entry->pasid); > task_info = amdgpu_vm_get_task_info_pasid(adev, entry->pasid); > if (task_info) { > - dev_err(adev->dev, > - " in process %s pid %d thread %s pid %d\n", > - task_info->process_name, task_info->tgid, > - task_info->task_name, task_info->pid); > + amdgpu_vm_print_task_info(adev, task_info); > amdgpu_vm_put_task_info(task_info); > } > > diff --git a/drivers/gpu/drm/amd/amdgpu/gmc_v11_0.c > b/drivers/gpu/drm/amd/amdgpu/gmc_v11_0.c > index 72211409227b..f15d691e9a20 100644 > --- a/drivers/gpu/drm/amd/amdgpu/gmc_v11_0.c > +++ b/drivers/gpu/drm/amd/amdgpu/gmc_v11_0.c > @@ -134,10 +134,7 @@ static int gmc_v11_0_process_interrupt(struct > amdgpu_device *adev, > entry->src_id, entry->ring_id, entry->vmid, > entry->pasid); > task_info = amdgpu_vm_get_task_info_pasid(adev, entry->pasid); > if (task_info) { > - dev_err(adev->dev, > - " in process %s pid %d thread %s pid %d)\n", > - task_info->process_name, task_info->tgid, > - task_info->task_name, task_info->pid); > + amdgpu_vm_print_task_info(adev, task_info); > amdgpu_vm_put_task_info(task_info); > } > > diff --git a/drivers/gpu/drm/amd/amdgpu/gmc_v12_0.c > b/drivers/gpu/drm/amd/amdgpu/gmc_v12_0.c > index b645d3e6a6c8..de763105fdfd 100644 > --- a/drivers/gpu/drm/amd/amdgpu/gmc_v12_0.c > +++ b/drivers/gpu/drm/amd/amdgpu/gmc_v12_0.c > @@ -127,10 +127,7 @@ static int gmc_v12_0_process_interrupt(struct > amdgpu_device *adev, > entry->src_id, entry->ring_id, entry->vmid, > entry->pasid); > task_info = amdgpu_vm_get_task_info_pasid(adev, entry->pasid); > if (task_info) { > - dev_err(adev->dev, > - " in process %s pid %d thread %s pid %d)\n", > - task_info->process_name, task_info->tgid, > - task_info->task_name, task_info->pid); > + amdgpu_vm_print_task_info(adev, task_info); > amdgpu_vm_put_task_info(task_info); > } > > diff --git a/drivers/gpu/drm/amd/amdgpu/gmc_v8_0.c > b/drivers/gpu/drm/amd/amdgpu/gmc_v8_0.c > index 99ca08e9bdb5..b45fa0cea9d2 100644 > --- a/drivers/gpu/drm/amd/amdgpu/gmc_v8_0.c > +++ b/drivers/gpu/drm/amd/amdgpu/gmc_v8_0.c > @@ -1458,9 +1458,7 @@ static int gmc_v8_0_process_interrupt(struct > amdgpu_device *adev, > > task_info = amdgpu_vm_get_task_info_pasid(adev, entry->pasid); > if (task_info) { > - dev_err(adev->dev, " for process %s pid %d thread %s > pid %d\n", > - task_info->process_name, task_info->tgid, > - task_info->task_name, task_info->pid); > + amdgpu_vm_print_task_info(adev, task_info); > amdgpu_vm_put_task_info(task_info); > } > > diff --git a/drivers/gpu/drm/amd/amdgpu/gmc_v9_0.c > b/drivers/gpu/drm/amd/amdgpu/gmc_v9_0.c > index 282197f4ffb1..78f65aea03f8 100644 > --- a/drivers/gpu/drm/amd/amdgpu/gmc_v9_0.c > +++ b/drivers/gpu/drm/amd/amdgpu/gmc_v9_0.c > @@ -641,10 +641,7 @@ static int gmc_v9_0_process_interrupt(struct > amdgpu_device *adev, > > task_info = amdgpu_vm_get_task_info_pasid(adev, entry->pasid); > if (task_info) { > - dev_err(adev->dev, > - " for process %s pid %d thread %s pid %d)\n", > - task_info->process_name, task_info->tgid, > - task_info->task_name, task_info->pid); > + amdgpu_vm_print_task_info(adev, task_info); > amdgpu_vm_put_task_info(task_info); > } >