[PATCH 7/8] drm/amdgpu: trace the vmhub in grab_id as well

Alex Deucher alexdeucher at gmail.com
Tue Apr 11 14:44:25 UTC 2017


On Tue, Apr 11, 2017 at 4:44 AM, Christian König
<deathsimple at vodafone.de> wrote:
> From: Christian König <christian.koenig at amd.com>
>
> Trace on which VMHUB we assigned an VMID.
>
> Signed-off-by: Christian König <christian.koenig at amd.com>
> Reviewed-by: Andres Rodriguez <andresx7 at gmail.com>

Reviewed-by: Alex Deucher <alexander.deucher at amd.com>

> ---
>  drivers/gpu/drm/amd/amdgpu/amdgpu_trace.h | 17 ++++++++++-------
>  drivers/gpu/drm/amd/amdgpu/amdgpu_vm.c    |  2 +-
>  2 files changed, 11 insertions(+), 8 deletions(-)
>
> diff --git a/drivers/gpu/drm/amd/amdgpu/amdgpu_trace.h b/drivers/gpu/drm/amd/amdgpu/amdgpu_trace.h
> index 381b770..6032161 100644
> --- a/drivers/gpu/drm/amd/amdgpu/amdgpu_trace.h
> +++ b/drivers/gpu/drm/amd/amdgpu/amdgpu_trace.h
> @@ -190,26 +190,29 @@ TRACE_EVENT(amdgpu_sched_run_job,
>
>
>  TRACE_EVENT(amdgpu_vm_grab_id,
> -           TP_PROTO(struct amdgpu_vm *vm, int ring, struct amdgpu_job *job),
> +           TP_PROTO(struct amdgpu_vm *vm, struct amdgpu_ring *ring,
> +                    struct amdgpu_job *job),
>             TP_ARGS(vm, ring, job),
>             TP_STRUCT__entry(
>                              __field(struct amdgpu_vm *, vm)
>                              __field(u32, ring)
> -                            __field(u32, vmid)
> +                            __field(u32, vm_id)
> +                            __field(u32, vm_hub)
>                              __field(u64, pd_addr)
>                              __field(u32, needs_flush)
>                              ),
>
>             TP_fast_assign(
>                            __entry->vm = vm;
> -                          __entry->ring = ring;
> -                          __entry->vmid = job->vm_id;
> +                          __entry->ring = ring->idx;
> +                          __entry->vm_id = job->vm_id;
> +                          __entry->vm_hub = ring->funcs->vmhub,
>                            __entry->pd_addr = job->vm_pd_addr;
>                            __entry->needs_flush = job->vm_needs_flush;
>                            ),
> -           TP_printk("vm=%p, ring=%u, id=%u, pd_addr=%010Lx needs_flush=%u",
> -                     __entry->vm, __entry->ring, __entry->vmid,
> -                     __entry->pd_addr, __entry->needs_flush)
> +           TP_printk("vm=%p, ring=%u, id=%u, hub=%u, pd_addr=%010Lx needs_flush=%u",
> +                     __entry->vm, __entry->ring, __entry->vm_id,
> +                     __entry->vm_hub, __entry->pd_addr, __entry->needs_flush)
>  );
>
>  TRACE_EVENT(amdgpu_vm_bo_map,
> diff --git a/drivers/gpu/drm/amd/amdgpu/amdgpu_vm.c b/drivers/gpu/drm/amd/amdgpu/amdgpu_vm.c
> index d0b6f20..494645e 100644
> --- a/drivers/gpu/drm/amd/amdgpu/amdgpu_vm.c
> +++ b/drivers/gpu/drm/amd/amdgpu/amdgpu_vm.c
> @@ -533,7 +533,7 @@ int amdgpu_vm_grab_id(struct amdgpu_vm *vm, struct amdgpu_ring *ring,
>         list_move_tail(&id->list, &id_mgr->ids_lru);
>
>         job->vm_id = id - id_mgr->ids;
> -       trace_amdgpu_vm_grab_id(vm, ring->idx, job);
> +       trace_amdgpu_vm_grab_id(vm, ring, job);
>
>  error:
>         mutex_unlock(&id_mgr->lock);
> --
> 2.5.0
>
> _______________________________________________
> amd-gfx mailing list
> amd-gfx at lists.freedesktop.org
> https://lists.freedesktop.org/mailman/listinfo/amd-gfx


More information about the amd-gfx mailing list