drm/xe/xe_trace: Add move_lacks_source detail to xe_bo_move trace
authorPriyanka Dandamudi <priyanka.dandamudi@intel.com>
Wed, 21 Feb 2024 10:19:50 +0000 (15:49 +0530)
committerThomas Hellström <thomas.hellstrom@linux.intel.com>
Thu, 29 Feb 2024 10:51:58 +0000 (11:51 +0100)
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: Priyanka Dandamudi <priyanka.dandamudi@intel.com>
Reviewed-by: Thomas Hellström <thomas.hellstrom@linux.intel.com>
Fixes: a0df2cc858c3 ("drm/xe/xe_bo_move: Enhance xe_bo_move trace")
Signed-off-by: Thomas Hellström <thomas.hellstrom@linux.intel.com>
Link: https://patchwork.freedesktop.org/patch/msgid/20240221101950.1019312-1-priyanka.dandamudi@intel.com
drivers/gpu/drm/xe/xe_bo.c
drivers/gpu/drm/xe/xe_trace.h

index 76dfaf1cd200800ba3aaf7eef5e5a3bd7a98e694..6603a0ea79c5af6d55bfdb3e61c7b6784e7b3604 100644 (file)
@@ -736,7 +736,7 @@ static int xe_bo_move(struct ttm_buffer_object *ttm_bo, bool evict,
                migrate = xe->tiles[0].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);
 
        if (xe_bo_is_pinned(bo) && !xe_bo_is_user(bo)) {
index 3b97633d81d8508fdeae9035dca60a067473e04e..4ddc55527f9ab3e632635c5f920d4f4420df1255 100644 (file)
@@ -102,14 +102,16 @@ DEFINE_EVENT(xe_bo, xe_bo_cpu_fault,
 );
 
 TRACE_EVENT(xe_bo_move,
-           TP_PROTO(struct xe_bo *bo, uint32_t new_placement, uint32_t old_placement),
-           TP_ARGS(bo, new_placement, old_placement),
+           TP_PROTO(struct xe_bo *bo, uint32_t new_placement, uint32_t old_placement,
+                    bool move_lacks_source),
+           TP_ARGS(bo, new_placement, old_placement, move_lacks_source),
            TP_STRUCT__entry(
                     __field(struct xe_bo *, bo)
                     __field(size_t, size)
                     __field(u32, new_placement)
                     __field(u32, old_placement)
                     __array(char, device_id, 12)
+                    __field(bool, move_lacks_source)
                        ),
 
            TP_fast_assign(
@@ -118,9 +120,11 @@ TRACE_EVENT(xe_bo_move,
                   __entry->new_placement = new_placement;
                   __entry->old_placement = old_placement;
                   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",
-                     __entry->bo, __entry->size, xe_mem_type_to_name[__entry->old_placement],
+           TP_printk("move_lacks_source:%s, migrate object %p [size %zu] from %s to %s device_id:%s",
+                     __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)
 );