[PATCH 3/5] drm/amdgpu: use sched_job id instead of pointer for tracing
Andres Rodriguez
andresx7 at gmail.com
Fri Mar 10 02:25:52 UTC 2017
Pointers get reallocated and they are hard to read for humans. Use ids
instead.
Signed-off-by: Andres Rodriguez <andresx7 at gmail.com>
---
drivers/gpu/drm/amd/amdgpu/amdgpu_trace.h | 16 ++++++++--------
1 file changed, 8 insertions(+), 8 deletions(-)
diff --git a/drivers/gpu/drm/amd/amdgpu/amdgpu_trace.h b/drivers/gpu/drm/amd/amdgpu/amdgpu_trace.h
index da1fa98..042a091 100644
--- a/drivers/gpu/drm/amd/amdgpu/amdgpu_trace.h
+++ b/drivers/gpu/drm/amd/amdgpu/amdgpu_trace.h
@@ -95,68 +95,68 @@ TRACE_EVENT(amdgpu_cs,
TP_printk("bo_list=%p, ring=%u, dw=%u, fences=%u",
__entry->bo_list, __entry->ring, __entry->dw,
__entry->fences)
);
TRACE_EVENT(amdgpu_cs_ioctl,
TP_PROTO(struct amdgpu_job *job),
TP_ARGS(job),
TP_STRUCT__entry(
__field(struct amdgpu_device *, adev)
- __field(struct amd_sched_job *, sched_job)
+ __field(uint64_t, sched_job_id)
__field(struct amdgpu_ib *, ib)
__field(struct dma_fence *, fence)
__field(char *, ring_name)
__field(u32, num_ibs)
),
TP_fast_assign(
__entry->adev = job->adev;
- __entry->sched_job = &job->base;
+ __entry->sched_job_id = job->base.id;
__entry->ib = job->ibs;
__entry->fence = &job->base.s_fence->finished;
__entry->ring_name = job->ring->name;
__entry->num_ibs = job->num_ibs;
),
- TP_printk("adev=%p, sched_job=%p, first_ib=%p, sched_fence=%p, ring_name=%s, num_ibs=%u",
- __entry->adev, __entry->sched_job, __entry->ib,
+ TP_printk("adev=%p, sched_job=%llu, first_ib=%p, sched_fence=%p, ring_name=%s, num_ibs=%u",
+ __entry->adev, __entry->sched_job_id, __entry->ib,
__entry->fence, __entry->ring_name, __entry->num_ibs)
);
TRACE_EVENT(amdgpu_sched_run_job,
TP_PROTO(struct amdgpu_job *job),
TP_ARGS(job),
TP_STRUCT__entry(
__field(struct amdgpu_device *, adev)
- __field(struct amd_sched_job *, sched_job)
+ __field(uint64_t, sched_job_id)
__field(struct amdgpu_ib *, ib)
__field(struct dma_fence *, fence)
__string(timeline, job->base.s_fence->finished.ops->get_timeline_name(&job->base.s_fence->finished))
__field(unsigned int, context)
__field(unsigned int, seqno)
__field(char *, ring_name)
__field(u32, num_ibs)
),
TP_fast_assign(
__entry->adev = job->adev;
- __entry->sched_job = &job->base;
+ __entry->sched_job_id = job->base.id;
__entry->ib = job->ibs;
__entry->fence = &job->base.s_fence->finished;
__assign_str(timeline, job->base.s_fence->finished.ops->get_timeline_name(&job->base.s_fence->finished))
__entry->context = job->base.s_fence->finished.context;
__entry->seqno = job->base.s_fence->finished.seqno;
__entry->ring_name = job->ring->name;
__entry->num_ibs = job->num_ibs;
),
- TP_printk("adev=%p, sched_job=%p, first_ib=%p, sched_fence=%p, timeline=%s, context=%u, seqno=%u, ring_name=%s, num_ibs=%u",
- __entry->adev, __entry->sched_job, __entry->ib,
+ TP_printk("adev=%p, sched_job=%llu, first_ib=%p, sched_fence=%p, timeline=%s, context=%u, seqno=%u, ring_name=%s, num_ibs=%u",
+ __entry->adev, __entry->sched_job_id, __entry->ib,
__entry->fence, __get_str(timeline), __entry->context, __entry->seqno,
__entry->ring_name, __entry->num_ibs)
);
TRACE_EVENT(amdgpu_vm_grab_id,
TP_PROTO(struct amdgpu_vm *vm, int ring, struct amdgpu_job *job),
TP_ARGS(vm, ring, job),
TP_STRUCT__entry(
__field(struct amdgpu_vm *, vm)
--
2.9.3
More information about the amd-gfx
mailing list