s/druing/during in subject On 2017-04-07 12:11 PM, Christian König wrote: > From: Christian König <christian.koenig at amd.com> > > Trace on which hub we are doing the flush. > > Signed-off-by: Christian König <christian.koenig at amd.com> > --- > drivers/gpu/drm/amd/amdgpu/amdgpu_trace.h | 20 ++++++++++++-------- > drivers/gpu/drm/amd/amdgpu/amdgpu_vm.c | 2 +- > 2 files changed, 13 insertions(+), 9 deletions(-) > > diff --git a/drivers/gpu/drm/amd/amdgpu/amdgpu_trace.h b/drivers/gpu/drm/amd/amdgpu/amdgpu_trace.h > index 6032161..f95a386 100644 > --- a/drivers/gpu/drm/amd/amdgpu/amdgpu_trace.h > +++ b/drivers/gpu/drm/amd/amdgpu/amdgpu_trace.h > @@ -334,21 +334,25 @@ TRACE_EVENT(amdgpu_vm_copy_ptes, > ); > > TRACE_EVENT(amdgpu_vm_flush, > - TP_PROTO(uint64_t pd_addr, unsigned ring, unsigned id), > - TP_ARGS(pd_addr, ring, id), > + TP_PROTO(struct amdgpu_ring *ring, unsigned vm_id, > + uint64_t pd_addr), > + TP_ARGS(ring, vm_id, pd_addr), > TP_STRUCT__entry( > - __field(u64, pd_addr) > __field(u32, ring) > - __field(u32, id) > + __field(u32, vm_id) > + __field(u32, vm_hub) > + __field(u64, pd_addr) > ), > > TP_fast_assign( > + __entry->ring = ring->idx; > + __entry->vm_id = vm_id; > + __entry->vm_hub = ring->funcs->vmhub; > __entry->pd_addr = pd_addr; > - __entry->ring = ring; > - __entry->id = id; > ), > - TP_printk("ring=%u, id=%u, pd_addr=%010Lx", > - __entry->ring, __entry->id, __entry->pd_addr) > + TP_printk("ring=%u, id=%u, hub=%u, pd_addr=%010Lx", > + __entry->ring, __entry->vm_id, > + __entry->vm_hub,__entry->pd_addr) Can you also include job->base->id in this trace? Andres > ); > > TRACE_EVENT(amdgpu_bo_list_set, > diff --git a/drivers/gpu/drm/amd/amdgpu/amdgpu_vm.c b/drivers/gpu/drm/amd/amdgpu/amdgpu_vm.c > index 494645e..9017b51 100644 > --- a/drivers/gpu/drm/amd/amdgpu/amdgpu_vm.c > +++ b/drivers/gpu/drm/amd/amdgpu/amdgpu_vm.c > @@ -621,7 +621,7 @@ int amdgpu_vm_flush(struct amdgpu_ring *ring, struct amdgpu_job *job) > u64 pd_addr = amdgpu_vm_adjust_mc_addr(adev, job->vm_pd_addr); > struct fence *fence; > > - trace_amdgpu_vm_flush(pd_addr, ring->idx, job->vm_id); > + trace_amdgpu_vm_flush(ring, job->vm_id, pd_addr); > amdgpu_ring_emit_vm_flush(ring, job->vm_id, pd_addr); > > r = amdgpu_fence_emit(ring, &fence);