[v2 29/31] drm/xe/svm: trace svm migration
Oak Zeng
oak.zeng at intel.com
Tue Apr 9 20:17:40 UTC 2024
Add two trace points to trace svm migrations.
Signed-off-by: Oak Zeng <oak.zeng at intel.com>
---
drivers/gpu/drm/xe/xe_svm_migrate.c | 5 ++++-
drivers/gpu/drm/xe/xe_trace.h | 11 +++++++++++
2 files changed, 15 insertions(+), 1 deletion(-)
diff --git a/drivers/gpu/drm/xe/xe_svm_migrate.c b/drivers/gpu/drm/xe/xe_svm_migrate.c
index ab8dd1f58aa4..69096d81bf02 100644
--- a/drivers/gpu/drm/xe/xe_svm_migrate.c
+++ b/drivers/gpu/drm/xe/xe_svm_migrate.c
@@ -211,8 +211,10 @@ vm_fault_t xe_svm_migrate_to_sram(struct vm_fault *vmf)
xe_svm_for_each_vm(svm, vm) {
xe_assert(xe, vm->mm == mm);
xe_vma = xe_vm_lookup_vma(vm, vmf->address);
- if (xe_vma)
+ if (xe_vma) {
+ trace_xe_svm_migrate_to_sram(xe_vma);
xe_vm_invalidate_vma(xe_vma);
+ }
}
migrate_vma_pages(&migrate_vma);
migrate_vma_finalize(&migrate_vma);
@@ -328,6 +330,7 @@ int xe_svm_migrate_vma_to_vram(struct xe_vm *vm,
migrate_vma_pages(&migrate);
migrate_vma_finalize(&migrate);
+ trace_xe_svm_migrate_to_vram(vma);
free_dst_pages:
if (ret)
xe_devm_free_blocks(&blocks);
diff --git a/drivers/gpu/drm/xe/xe_trace.h b/drivers/gpu/drm/xe/xe_trace.h
index f3fcce9f1434..12e0c9856540 100644
--- a/drivers/gpu/drm/xe/xe_trace.h
+++ b/drivers/gpu/drm/xe/xe_trace.h
@@ -480,6 +480,17 @@ DEFINE_EVENT(xe_vma, xe_vma_userptr_invalidate_complete,
TP_ARGS(vma)
);
+DEFINE_EVENT(xe_vma, xe_svm_migrate_to_sram,
+ TP_PROTO(struct xe_vma *vma),
+ TP_ARGS(vma)
+);
+
+
+DEFINE_EVENT(xe_vma, xe_svm_migrate_to_vram,
+ TP_PROTO(struct xe_vma *vma),
+ TP_ARGS(vma)
+);
+
DECLARE_EVENT_CLASS(xe_vm,
TP_PROTO(struct xe_vm *vm),
TP_ARGS(vm),
--
2.26.3
More information about the Intel-xe
mailing list