* [PATCH v6 0/5] Enable THP support in drm_pagemap
@ 2026-01-16 11:10 Francois Dugast
0 siblings, 0 replies; only message in thread
From: Francois Dugast @ 2026-01-16 11:10 UTC (permalink / raw)
To: intel-xe
Cc: dri-devel, Francois Dugast, Zi Yan, Madhavan Srinivasan,
Alistair Popple, Lorenzo Stoakes, Liam R . Howlett,
Suren Baghdasaryan, Michal Hocko, Mike Rapoport, Vlastimil Babka,
Nicholas Piggin, Michael Ellerman, Christophe Leroy (CS GROUP),
Felix Kuehling, Alex Deucher, Christian König, David Airlie,
Simona Vetter, Maarten Lankhorst, Maxime Ripard,
Thomas Zimmermann, Lyude Paul, Danilo Krummrich, Bjorn Helgaas,
Logan Gunthorpe, David Hildenbrand, Oscar Salvador, Andrew Morton,
Jason Gunthorpe, Leon Romanovsky, Balbir Singh, Dan Williams,
Matthew Wilcox, Jan Kara, Alexander Viro, Christian Brauner,
Mika Penttilä, linuxppc-dev, kvm, linux-kernel, amd-gfx,
nouveau, linux-pci, linux-mm, linux-cxl, nvdimm, linux-fsdevel
Use Balbir Singh's series for device-private THP support [1] and previous
preparation work in drm_pagemap [2] to add 2MB/THP support in xe. This leads
to significant performance improvements when using SVM with 2MB pages.
[1] https://lore.kernel.org/linux-mm/20251001065707.920170-1-balbirs@nvidia.com/
[2] https://patchwork.freedesktop.org/series/151754/
v2:
- rebase on top of multi-device SVM
- add drm_pagemap_cpages() with temporary patch
- address other feedback from Matt Brost on v1
v3:
The major change is to remove the dependency to the mm/huge_memory
helper migrate_device_split_page() that was called explicitely when
a 2M buddy allocation backed by a large folio would be later reused
for a smaller allocation (4K or 64K). Instead, the first 3 patches
provided by Matthew Brost ensure large folios are split at the time
of freeing.
v4:
- add order argument to folio_free callback
- send complete series to linux-mm and MM folks as requested (Zi Yan
and Andrew Morton) and cover letter to anyone receiving at least
one of the patches (Liam R. Howlett)
v5:
- update zone_device_page_init() in patch #1 to reinitialize large
zone device private folios
v6:
- fix drm_pagemap change in patch #1 to allow applying to 6.19 and
add some comments
Cc: Zi Yan <ziy@nvidia.com>
Cc: Madhavan Srinivasan <maddy@linux.ibm.com>
Cc: Alistair Popple <apopple@nvidia.com>
Cc: Lorenzo Stoakes <lorenzo.stoakes@oracle.com>
Cc: Liam R. Howlett <Liam.Howlett@oracle.com>
Cc: Suren Baghdasaryan <surenb@google.com>
Cc: Michal Hocko <mhocko@suse.com>
Cc: Mike Rapoport <rppt@kernel.org>
Cc: Vlastimil Babka <vbabka@suse.cz>
Cc: Nicholas Piggin <npiggin@gmail.com>
Cc: Michael Ellerman <mpe@ellerman.id.au>
Cc: "Christophe Leroy (CS GROUP)" <chleroy@kernel.org>
Cc: Felix Kuehling <Felix.Kuehling@amd.com>
Cc: Alex Deucher <alexander.deucher@amd.com>
Cc: "Christian König" <christian.koenig@amd.com>
Cc: David Airlie <airlied@gmail.com>
Cc: Simona Vetter <simona@ffwll.ch>
Cc: Maarten Lankhorst <maarten.lankhorst@linux.intel.com>
Cc: Maxime Ripard <mripard@kernel.org>
Cc: Thomas Zimmermann <tzimmermann@suse.de>
Cc: Lyude Paul <lyude@redhat.com>
Cc: Danilo Krummrich <dakr@kernel.org>
Cc: Bjorn Helgaas <bhelgaas@google.com>
Cc: Logan Gunthorpe <logang@deltatee.com>
Cc: David Hildenbrand <david@kernel.org>
Cc: Oscar Salvador <osalvador@suse.de>
Cc: Andrew Morton <akpm@linux-foundation.org>
Cc: Jason Gunthorpe <jgg@ziepe.ca>
Cc: Leon Romanovsky <leon@kernel.org>
Cc: Balbir Singh <balbirs@nvidia.com>
Cc: Dan Williams <dan.j.williams@intel.com>
Cc: Matthew Wilcox <willy@infradead.org>
Cc: Jan Kara <jack@suse.cz>
Cc: Alexander Viro <viro@zeniv.linux.org.uk>
Cc: Christian Brauner <brauner@kernel.org>
Cc: Mika Penttilä <mpenttil@redhat.com>
Cc: linuxppc-dev@lists.ozlabs.org
Cc: kvm@vger.kernel.org
Cc: linux-kernel@vger.kernel.org
Cc: amd-gfx@lists.freedesktop.org
Cc: dri-devel@lists.freedesktop.org
Cc: nouveau@lists.freedesktop.org
Cc: linux-pci@vger.kernel.org
Cc: linux-mm@kvack.org
Cc: linux-cxl@vger.kernel.org
Cc: nvdimm@lists.linux.dev
Cc: linux-fsdevel@vger.kernel.org
Francois Dugast (3):
drm/pagemap: Unlock and put folios when possible
drm/pagemap: Add helper to access zone_device_data
drm/pagemap: Enable THP support for GPU memory migration
Matthew Brost (2):
mm/zone_device: Reinitialize large zone device private folios
drm/pagemap: Correct cpages calculation for migrate_vma_setup
arch/powerpc/kvm/book3s_hv_uvmem.c | 2 +-
drivers/gpu/drm/amd/amdkfd/kfd_migrate.c | 2 +-
drivers/gpu/drm/drm_gpusvm.c | 7 +-
drivers/gpu/drm/drm_pagemap.c | 158 ++++++++++++++++++-----
drivers/gpu/drm/nouveau/nouveau_dmem.c | 2 +-
include/drm/drm_pagemap.h | 15 +++
include/linux/memremap.h | 9 +-
lib/test_hmm.c | 4 +-
mm/memremap.c | 35 ++++-
9 files changed, 195 insertions(+), 39 deletions(-)
--
2.43.0
^ permalink raw reply [flat|nested] only message in thread
only message in thread, other threads:[~2026-01-16 11:13 UTC | newest]
Thread overview: (only message) (download: mbox.gz follow: Atom feed
-- links below jump to the message on this page --
2026-01-16 11:10 [PATCH v6 0/5] Enable THP support in drm_pagemap Francois Dugast
This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox