[PATCH v3 0/3] drm/gpusvm, drm/pagemap, drm/xe: Restructure migration in preparation for multi-device
Thomas Hellström
thomas.hellstrom at linux.intel.com
Fri Jun 13 14:02:16 UTC 2025
This patchset modifies the migration part of drm_gpusvm to drm_pagemap and
adds a populate_mm() op to drm_pagemap.
The idea is that the device that receives a pagefault determines if it wants to
migrate content and to where. It then calls the populate_mm() method of relevant
drm_pagemap.
This functionality was mostly already in place, but hard-coded for xe only without
going through a pagemap op. Since we might be dealing with separate devices moving
forward, it also now becomes the responsibilit of the populate_mm() op to
grab any necessary local device runtime pm references and keep them held while
its pages are present in an mm (struct mm_struct).
On thing to decide here is whether the populate_mm() callback should sit on a
struct drm_pagemap for now while we sort multi-device usability out or whether
we should add it (or something equivalent) to struct dev_pagemap.
v2:
- Rebase.
v3:
- Documentation updates (CI, Matt Brost)
- Don't change TTM buffer object type for VRAM allocations (Matt Brost)
Matthew Brost (1):
drm/gpusvm, drm/pagemap: Move migration functionality to drm_pagemap
Thomas Hellström (2):
drm/pagemap: Add a populate_mm op
drm/xe: Implement and use the drm_pagemap populate_mm op
Documentation/gpu/rfc/gpusvm.rst | 12 +-
drivers/gpu/drm/Makefile | 6 +-
drivers/gpu/drm/drm_gpusvm.c | 760 +-----------------------
drivers/gpu/drm/drm_pagemap.c | 832 +++++++++++++++++++++++++++
drivers/gpu/drm/xe/Kconfig | 10 +-
drivers/gpu/drm/xe/xe_bo_types.h | 2 +-
drivers/gpu/drm/xe/xe_device_types.h | 2 +-
drivers/gpu/drm/xe/xe_svm.c | 124 ++--
drivers/gpu/drm/xe/xe_svm.h | 10 +-
drivers/gpu/drm/xe/xe_tile.h | 11 +
drivers/gpu/drm/xe/xe_vm.c | 2 +-
include/drm/drm_gpusvm.h | 96 ----
include/drm/drm_pagemap.h | 135 +++++
13 files changed, 1090 insertions(+), 912 deletions(-)
create mode 100644 drivers/gpu/drm/drm_pagemap.c
--
2.49.0
More information about the dri-devel
mailing list