| From: |
| Francois Dugast <francois.dugast-AT-intel.com> |
| To: |
| intel-xe-AT-lists.freedesktop.org |
| Subject: |
| [PATCH v3 0/7] Enable THP support in drm_pagemap |
| Date: |
| Fri, 09 Jan 2026 09:54:20 +0100 |
| Message-ID: |
| <20260109085605.443316-1-francois.dugast@intel.com> |
| Cc: |
| dri-devel-AT-lists.freedesktop.org, Francois Dugast <francois.dugast-AT-intel.com> |
| Archive-link: |
| Article |
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-...
[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.
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 (4):
mm: Add folio_split_unref helper
fs/dax: Use folio_split_unref helper
mm: Split device-private and coherent folios before freeing
drm/pagemap: Correct cpages calculation for migrate_vma_setup
drivers/gpu/drm/drm_gpusvm.c | 7 +-
drivers/gpu/drm/drm_pagemap.c | 154 ++++++++++++++++++++++++++++------
fs/dax.c | 25 +-----
include/drm/drm_pagemap.h | 15 ++++
include/linux/huge_mm.h | 1 +
mm/huge_memory.c | 39 +++++++++
mm/memremap.c | 2 +
7 files changed, 190 insertions(+), 53 deletions(-)
--
2.43.0