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.kuehl...@amd.com> > and Yang, Philip <philip.y...@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 > > >