[PATCH v2 0/3] drm/gpusvm, drm/pagemap, drm/xe: Restructure migration in preparation for multi-device
Christian König
christian.koenig at amd.com
Wed Jun 4 10:01:10 UTC 2025
Hi Thomas,
please make sure to loop in Kuehling, Felix <Felix.Kuehling at amd.com> and Yang, Philip <Philip.Yang at amd.com> for that kind of stuff.
I'm absolutely not deep enough in the pagemap handling to judge any of that here.
Thanks,
Christian.
On 6/4/25 11:35, Thomas Hellström wrote:
> 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.
>
> 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 | 846 +++++++++++++++++++++++++++
> 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 | 129 ++--
> 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, 1107 insertions(+), 914 deletions(-)
> create mode 100644 drivers/gpu/drm/drm_pagemap.c
>
More information about the Intel-xe
mailing list