From: "Thomas Hellström" <thomas.hellstrom@linux.intel.com>
To: "Christian König" <christian.koenig@amd.com>,
intel-xe@lists.freedesktop.org
Cc: dri-devel@lists.freedesktop.org, himal.prasad.ghimiray@intel.com,
apopple@nvidia.com, airlied@gmail.com,
Simona Vetter <simona.vetter@ffwll.ch>,
felix.kuehling@amd.com, Matthew Brost <matthew.brost@intel.com>,
dakr@kernel.org, "Mrozek, Michal" <michal.mrozek@intel.com>,
Joonas Lahtinen <joonas.lahtinen@linux.intel.com>,
"Yang, Philip" <Philip.Yang@amd.com>
Subject: Re: [PATCH v2 0/3] drm/gpusvm, drm/pagemap, drm/xe: Restructure migration in preparation for multi-device
Date: Wed, 04 Jun 2025 14:01:44 +0200 [thread overview]
Message-ID: <245c58afa07f1f7fcd168491e5f4073eaef982aa.camel@linux.intel.com> (raw)
In-Reply-To: <b19b3deb-5a14-459c-b076-08be55a62769@amd.com>
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@amd.com>
> and Yang, Philip <Philip.Yang@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
> >
>
next prev parent reply other threads:[~2025-06-04 12:01 UTC|newest]
Thread overview: 24+ messages / expand[flat|nested] mbox.gz Atom feed top
2025-06-04 9:35 [PATCH v2 0/3] drm/gpusvm, drm/pagemap, drm/xe: Restructure migration in preparation for multi-device Thomas Hellström
2025-06-04 9:35 ` [PATCH v2 1/3] drm/gpusvm, drm/pagemap: Move migration functionality to drm_pagemap Thomas Hellström
2025-06-04 15:45 ` kernel test robot
2025-06-05 22:44 ` Matthew Brost
2025-06-13 10:01 ` Thomas Hellström
2025-06-04 9:35 ` [PATCH v2 2/3] drm/pagemap: Add a populate_mm op Thomas Hellström
2025-06-04 21:06 ` kernel test robot
2025-06-04 22:05 ` Matthew Brost
2025-06-05 7:40 ` Thomas Hellström
2025-06-04 9:35 ` [PATCH v2 3/3] drm/xe: Implement and use the drm_pagemap " Thomas Hellström
2025-06-04 15:04 ` Matthew Brost
2025-06-05 7:37 ` Thomas Hellström
2025-06-05 22:16 ` Matthew Brost
2025-06-13 10:16 ` Thomas Hellström
2025-06-04 10:01 ` [PATCH v2 0/3] drm/gpusvm, drm/pagemap, drm/xe: Restructure migration in preparation for multi-device Christian König
2025-06-04 12:01 ` Thomas Hellström [this message]
2025-06-04 11:26 ` ✓ CI.Patch_applied: success for drm/gpusvm, drm/pagemap, drm/xe: Restructure migration in preparation for multi-device (rev2) Patchwork
2025-06-04 11:27 ` ✗ CI.checkpatch: warning " Patchwork
2025-06-04 11:28 ` ✓ CI.KUnit: success " Patchwork
2025-06-04 11:39 ` ✓ CI.Build: " Patchwork
2025-06-04 11:41 ` ✗ CI.Hooks: failure " Patchwork
2025-06-04 11:43 ` ✓ CI.checksparse: success " Patchwork
2025-06-04 12:04 ` ✓ Xe.CI.BAT: " Patchwork
2025-06-05 6:25 ` ✗ Xe.CI.Full: failure " Patchwork
Reply instructions:
You may reply publicly to this message via plain-text email
using any one of the following methods:
* Save the following mbox file, import it into your mail client,
and reply-to-all from there: mbox
Avoid top-posting and favor interleaved quoting:
https://en.wikipedia.org/wiki/Posting_style#Interleaved_style
* Reply using the --to, --cc, and --in-reply-to
switches of git-send-email(1):
git send-email \
--in-reply-to=245c58afa07f1f7fcd168491e5f4073eaef982aa.camel@linux.intel.com \
--to=thomas.hellstrom@linux.intel.com \
--cc=Philip.Yang@amd.com \
--cc=airlied@gmail.com \
--cc=apopple@nvidia.com \
--cc=christian.koenig@amd.com \
--cc=dakr@kernel.org \
--cc=dri-devel@lists.freedesktop.org \
--cc=felix.kuehling@amd.com \
--cc=himal.prasad.ghimiray@intel.com \
--cc=intel-xe@lists.freedesktop.org \
--cc=joonas.lahtinen@linux.intel.com \
--cc=matthew.brost@intel.com \
--cc=michal.mrozek@intel.com \
--cc=simona.vetter@ffwll.ch \
/path/to/YOUR_REPLY
https://kernel.org/pub/software/scm/git/docs/git-send-email.html
* If your mail client supports setting the In-Reply-To header
via mailto: links, try the mailto: link
Be sure your reply has a Subject: header at the top and a blank line
before the message body.
This is an external index of several public inboxes,
see mirroring instructions on how to clone and mirror
all data and code used by this external index.