On 13-02-2025 07:41, Matthew Brost wrote:
Used to show we can bounce memory multiple times which will happen once
a real migration policy is implemented. Can be removed once migration
policy is implemented.

v3:
  - Pull some changes into the previous patch (Thomas)
  - Better commit message (Thomas)

Signed-off-by: Matthew Brost <matthew.br...@intel.com>
Reviewed-by: Thomas Hellström <thomas.hellst...@linux.intel.com>
---
  drivers/gpu/drm/xe/xe_module.c | 3 +++
  drivers/gpu/drm/xe/xe_module.h | 1 +
  drivers/gpu/drm/xe/xe_svm.c    | 3 +++
  3 files changed, 7 insertions(+)

diff --git a/drivers/gpu/drm/xe/xe_module.c b/drivers/gpu/drm/xe/xe_module.c
index 4fe6a33da7e3..475acdba2b55 100644
--- a/drivers/gpu/drm/xe/xe_module.c
+++ b/drivers/gpu/drm/xe/xe_module.c
@@ -32,6 +32,9 @@ struct xe_modparam xe_modparam = {
  module_param_named(svm_notifier_size, xe_modparam.svm_notifier_size, uint, 
0600);
  MODULE_PARM_DESC(svm_notifier_size, "Set the svm notifier size(in MiB), must be 
power of 2");
+module_param_named(always_migrate_to_vram, xe_modparam.always_migrate_to_vram, bool, 0444);
+MODULE_PARM_DESC(always_migrate_to_vram, "Always migrate to VRAM on GPU 
fault");
+
  module_param_named_unsafe(force_execlist, xe_modparam.force_execlist, bool, 
0444);
  MODULE_PARM_DESC(force_execlist, "Force Execlist submission");
diff --git a/drivers/gpu/drm/xe/xe_module.h b/drivers/gpu/drm/xe/xe_module.h
index 5a3bfea8b7b4..84339e509c80 100644
--- a/drivers/gpu/drm/xe/xe_module.h
+++ b/drivers/gpu/drm/xe/xe_module.h
@@ -12,6 +12,7 @@
  struct xe_modparam {
        bool force_execlist;
        bool probe_display;
+       bool always_migrate_to_vram;
        u32 force_vram_bar_size;
        int guc_log_level;
        char *guc_firmware_path;
diff --git a/drivers/gpu/drm/xe/xe_svm.c b/drivers/gpu/drm/xe/xe_svm.c
index ce67f42bf4f7..a3ec725913ca 100644
--- a/drivers/gpu/drm/xe/xe_svm.c
+++ b/drivers/gpu/drm/xe/xe_svm.c
@@ -839,6 +839,9 @@ int xe_svm_handle_pagefault(struct xe_vm *vm, struct xe_vma 
*vma,
        }
        drm_exec_fini(&exec);
+ if (xe_modparam.always_migrate_to_vram)
+               range->migrated = false;
+

LGTM
Reviewed-by: Himal Prasad Ghimiray <himal.prasad.ghimi...@intel.com>

        dma_fence_wait(fence, false);
        dma_fence_put(fence);

Reply via email to