Intel-XE Archive on lore.kernel.org
 help / color / mirror / Atom feed
* [RFC 00/12] Prefetch Support for svm ranges
@ 2025-03-10 12:43 Himal Prasad Ghimiray
  2025-03-10 12:35 ` ✓ CI.Patch_applied: success for " Patchwork
                   ` (19 more replies)
  0 siblings, 20 replies; 25+ messages in thread
From: Himal Prasad Ghimiray @ 2025-03-10 12:43 UTC (permalink / raw)
  To: intel-xe; +Cc: matthew.brost, thomas.hellstrom, oak.zeng, Himal Prasad Ghimiray

This series builds upon the SVM work by Matt Brost and introduces the
ability to prefetch SVM ranges. The prefetch functionality utilizes the
existing ioctl vm_bind for the user interface.

Prefetching ensures that pages are populated in the requested region and
that PTEs are updated, thereby preventing GPU page faults.

Region 0: Ranges will remain in SMEM, and only PTE updates will occur.
Region 1: Ranges will migrate to VRAM, and PTEs will be updated
accordingly.

Himal Prasad Ghimiray (12):
  drm/xe: Introduce xe_vma_op_prefetch_range struct for prefetch of
    ranges
  drm/xe: Make xe_svm_alloc_vram public
  drm/xe/svm: Helper to add tile masks to svm ranges
  drm/xe/svm: Make to_xe_range a public function
  drm/xe/svm: Make xe_svm_range_* end/start/size public
  drm/xe/vm: Update xe_vma_ops_incr_pt_update_ops to take an increment
    value
  drm/xe/vm: Add an identifier in xe_vma_ops for svm prefetch
  drm/xe: Rename lookup_vma function to xe_find_vma_by_addr
  drm/xe/svm: Allow unaligned addresses and ranges for prefetch
  drm/xe/svm: Refactor usage of drm_gpusvm* function in xe_svm
  drm/xe/svm: Implement prefetch support for SVM ranges
  drm/xe/vm: Add debug prints for SVM range prefetch

 drivers/gpu/drm/xe/xe_gt_pagefault.c |  24 +--
 drivers/gpu/drm/xe/xe_pt.c           |  81 ++++++---
 drivers/gpu/drm/xe/xe_svm.c          |  99 +++++++----
 drivers/gpu/drm/xe/xe_svm.h          |  79 +++++++++
 drivers/gpu/drm/xe/xe_vm.c           | 252 ++++++++++++++++++++++++---
 drivers/gpu/drm/xe/xe_vm.h           |   2 +
 drivers/gpu/drm/xe/xe_vm_types.h     |  15 ++
 7 files changed, 451 insertions(+), 101 deletions(-)

-- 
2.34.1


^ permalink raw reply	[flat|nested] 25+ messages in thread

end of thread, other threads:[~2025-03-28  2:57 UTC | newest]

Thread overview: 25+ messages (download: mbox.gz follow: Atom feed
-- links below jump to the message on this page --
2025-03-10 12:43 [RFC 00/12] Prefetch Support for svm ranges Himal Prasad Ghimiray
2025-03-10 12:35 ` ✓ CI.Patch_applied: success for " Patchwork
2025-03-10 12:35 ` ✓ CI.checkpatch: " Patchwork
2025-03-10 12:36 ` ✓ CI.KUnit: " Patchwork
2025-03-10 12:43 ` [RFC 01/12] drm/xe: Introduce xe_vma_op_prefetch_range struct for prefetch of ranges Himal Prasad Ghimiray
2025-03-10 12:43 ` [RFC 02/12] drm/xe: Make xe_svm_alloc_vram public Himal Prasad Ghimiray
2025-03-10 12:43 ` [RFC 03/12] drm/xe/svm: Helper to add tile masks to svm ranges Himal Prasad Ghimiray
2025-03-10 19:19   ` Matthew Brost
2025-03-11  6:26     ` Ghimiray, Himal Prasad
2025-03-10 12:43 ` [RFC 04/12] drm/xe/svm: Make to_xe_range a public function Himal Prasad Ghimiray
2025-03-10 12:43 ` [RFC 05/12] drm/xe/svm: Make xe_svm_range_* end/start/size public Himal Prasad Ghimiray
2025-03-10 12:43 ` [RFC 06/12] drm/xe/vm: Update xe_vma_ops_incr_pt_update_ops to take an increment value Himal Prasad Ghimiray
2025-03-10 12:43 ` [RFC 07/12] drm/xe/vm: Add an identifier in xe_vma_ops for svm prefetch Himal Prasad Ghimiray
2025-03-10 12:43 ` [RFC 08/12] drm/xe: Rename lookup_vma function to xe_find_vma_by_addr Himal Prasad Ghimiray
2025-03-28  2:58   ` Matthew Brost
2025-03-10 12:43 ` [RFC 09/12] drm/xe/svm: Allow unaligned addresses and ranges for prefetch Himal Prasad Ghimiray
2025-03-10 12:43 ` [RFC 10/12] drm/xe/svm: Refactor usage of drm_gpusvm* function in xe_svm Himal Prasad Ghimiray
2025-03-10 12:43 ` [RFC 11/12] drm/xe/svm: Implement prefetch support for SVM ranges Himal Prasad Ghimiray
2025-03-10 12:43 ` [RFC 12/12] drm/xe/vm: Add debug prints for SVM range prefetch Himal Prasad Ghimiray
2025-03-11  6:27   ` Ghimiray, Himal Prasad
2025-03-10 12:53 ` ✓ CI.Build: success for Prefetch Support for svm ranges Patchwork
2025-03-10 12:55 ` ✗ CI.Hooks: failure " Patchwork
2025-03-10 12:56 ` ✓ CI.checksparse: success " Patchwork
2025-03-10 13:17 ` ✓ Xe.CI.BAT: " Patchwork
2025-03-11  8:57 ` ✗ Xe.CI.Full: failure " Patchwork

This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox