[PATCH v2 0/3] drm/gpusvm, drm/pagemap, drm/xe: Restructure migration in preparation for multi-device
Thomas Hellström
thomas.hellstrom at linux.intel.com
Wed Jun 4 12:01:44 UTC 2025
Hi,
On Wed, 2025-06-04 at 12:01 +0200, Christian König wrote:
> 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.
Sure, Felix was CC'd and I'll make sure Philip will be CC'd on the next
revision.
Thanks,
Thomas
>
> 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 dri-devel
mailing list