[PATCH v2 13/15] drm/xe: Enter ULLS for migration jobs upon page fault or SVM prefetch
Matthew Brost
matthew.brost at intel.com
Tue Aug 5 23:41:58 UTC 2025
Call xe_migration_ulls_enter upon page fault or SVM prefetch in an
effort speed up these critical paths.
Signed-off-by: Matthew Brost <matthew.brost at intel.com>
---
drivers/gpu/drm/xe/xe_gt_pagefault.c | 2 ++
drivers/gpu/drm/xe/xe_vm.c | 4 +++-
2 files changed, 5 insertions(+), 1 deletion(-)
diff --git a/drivers/gpu/drm/xe/xe_gt_pagefault.c b/drivers/gpu/drm/xe/xe_gt_pagefault.c
index ab43dec52776..434ad8341cbc 100644
--- a/drivers/gpu/drm/xe/xe_gt_pagefault.c
+++ b/drivers/gpu/drm/xe/xe_gt_pagefault.c
@@ -201,6 +201,8 @@ static int handle_pagefault(struct xe_gt *gt, struct pagefault *pf)
if (IS_ERR(vm))
return PTR_ERR(vm);
+ xe_migrate_ulls_enter(gt_to_tile(gt)->migrate);
+
/*
* TODO: Change to read lock? Using write lock for simplicity.
*/
diff --git a/drivers/gpu/drm/xe/xe_vm.c b/drivers/gpu/drm/xe/xe_vm.c
index 6601c0650298..e3daff39d589 100644
--- a/drivers/gpu/drm/xe/xe_vm.c
+++ b/drivers/gpu/drm/xe/xe_vm.c
@@ -2398,8 +2398,10 @@ vm_bind_ioctl_ops_create(struct xe_vm *vm, struct xe_vma_ops *vops,
ctx.devmem_possible = IS_DGFX(vm->xe) &&
IS_ENABLED(CONFIG_DRM_XE_PAGEMAP);
- for_each_tile(tile, vm->xe, id)
+ for_each_tile(tile, vm->xe, id) {
+ xe_migrate_ulls_enter(tile->migrate);
tile_mask |= 0x1 << id;
+ }
xa_init_flags(&op->prefetch_range.range, XA_FLAGS_ALLOC);
op->prefetch_range.region = prefetch_region;
--
2.34.1
More information about the Intel-xe
mailing list