Commit 8188cae3 authored by Priyanka Dandamudi's avatar Priyanka Dandamudi Committed by Thomas Hellström

drm/xe/xe_trace: Add move_lacks_source detail to xe_bo_move trace

Add move_lacks_source detail to xe_bo_move trace to make it readable
that is to check if it is migrate clear or migrate copy.

Cc: Thomas Hellström <thomas.hellstrom@linux.intel.com>
Signed-off-by: default avatarPriyanka Dandamudi <priyanka.dandamudi@intel.com>
Reviewed-by: default avatarThomas Hellström <thomas.hellstrom@linux.intel.com>
Fixes: a09946a9 ("drm/xe/xe_bo_move: Enhance xe_bo_move trace")
Signed-off-by: default avatarThomas Hellström <thomas.hellstrom@linux.intel.com>
Link: https://patchwork.freedesktop.org/patch/msgid/20240221101950.1019312-1-priyanka.dandamudi@intel.com
(cherry picked from commit 8034f6b0)
Signed-off-by: default avatarThomas Hellström <thomas.hellstrom@linux.intel.com>
parent 785f4cc0
...@@ -721,7 +721,7 @@ static int xe_bo_move(struct ttm_buffer_object *ttm_bo, bool evict, ...@@ -721,7 +721,7 @@ static int xe_bo_move(struct ttm_buffer_object *ttm_bo, bool evict,
migrate = xe->tiles[0].migrate; migrate = xe->tiles[0].migrate;
xe_assert(xe, migrate); xe_assert(xe, migrate);
trace_xe_bo_move(bo, new_mem->mem_type, old_mem_type); trace_xe_bo_move(bo, new_mem->mem_type, old_mem_type, move_lacks_source);
xe_device_mem_access_get(xe); xe_device_mem_access_get(xe);
if (xe_bo_is_pinned(bo) && !xe_bo_is_user(bo)) { if (xe_bo_is_pinned(bo) && !xe_bo_is_user(bo)) {
......
...@@ -102,14 +102,16 @@ DEFINE_EVENT(xe_bo, xe_bo_cpu_fault, ...@@ -102,14 +102,16 @@ DEFINE_EVENT(xe_bo, xe_bo_cpu_fault,
); );
TRACE_EVENT(xe_bo_move, TRACE_EVENT(xe_bo_move,
TP_PROTO(struct xe_bo *bo, uint32_t new_placement, uint32_t old_placement), TP_PROTO(struct xe_bo *bo, uint32_t new_placement, uint32_t old_placement,
TP_ARGS(bo, new_placement, old_placement), bool move_lacks_source),
TP_ARGS(bo, new_placement, old_placement, move_lacks_source),
TP_STRUCT__entry( TP_STRUCT__entry(
__field(struct xe_bo *, bo) __field(struct xe_bo *, bo)
__field(size_t, size) __field(size_t, size)
__field(u32, new_placement) __field(u32, new_placement)
__field(u32, old_placement) __field(u32, old_placement)
__array(char, device_id, 12) __array(char, device_id, 12)
__field(bool, move_lacks_source)
), ),
TP_fast_assign( TP_fast_assign(
...@@ -118,9 +120,11 @@ TRACE_EVENT(xe_bo_move, ...@@ -118,9 +120,11 @@ TRACE_EVENT(xe_bo_move,
__entry->new_placement = new_placement; __entry->new_placement = new_placement;
__entry->old_placement = old_placement; __entry->old_placement = old_placement;
strscpy(__entry->device_id, dev_name(xe_bo_device(__entry->bo)->drm.dev), 12); strscpy(__entry->device_id, dev_name(xe_bo_device(__entry->bo)->drm.dev), 12);
__entry->move_lacks_source = move_lacks_source;
), ),
TP_printk("migrate object %p [size %zu] from %s to %s device_id:%s", TP_printk("move_lacks_source:%s, migrate object %p [size %zu] from %s to %s device_id:%s",
__entry->bo, __entry->size, xe_mem_type_to_name[__entry->old_placement], __entry->move_lacks_source ? "yes" : "no", __entry->bo, __entry->size,
xe_mem_type_to_name[__entry->old_placement],
xe_mem_type_to_name[__entry->new_placement], __entry->device_id) xe_mem_type_to_name[__entry->new_placement], __entry->device_id)
); );
......
Markdown is supported
0%
or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment