Skip to content

hugetlb: Disable huge pmd unshare for uffd-wp

Peter Xu linux-mm linux-next lkml 4 versions – Applied

Status from this message: [merged] hugetlb-userfaultfd-unshare-all-pmds-for-hugetlbfs-when-register-wp.patch removed from -mm tree

Get series with b4
b4 am [email protected]

Versions newest first · linked by author and title

  1. v4 Latest4 patches 5 repliesApplied 4/4
  2. v34 patches 5 repliesSuperseded
  3. v24 patches 9 repliesSuperseded
Earlier versions · 1
VersionPostedPatchesRepliesStatus
v14 patches0 repliesSuperseded

Changes in v4 from the cover letter

- fix build for sparc by removing extra line in patch 1 [Mike]
- pick Mike's r-b for patch 4

Patches in v4 All 4 applied

#Subject and filesSizeRepliesApplied
1/4hugetlb: Pass vma into huge_pte_alloc() and huge_pmd_share()arch/arm64/mm/hugetlbpage.c arch/ia64/mm/hugetlbpage.c arch/mips/mm/hugetlbpage.c +8 more+24 -201 replyApplied
2/4hugetlb/userfaultfd: Forbid huge pmd sharing when uffd enabledarch/arm64/mm/hugetlbpage.c include/linux/hugetlb.h include/linux/userfaultfd_k.h +1 more+26 -83 repliesApplied
3/4mm/hugetlb: Move flush_hugetlb_tlb_range() into hugetlb.hinclude/linux/hugetlb.h mm/hugetlb.c+8 -80 repliesApplied
4/4hugetlb/userfaultfd: Unshare all pmds for hugetlbfs when register wpfs/userfaultfd.c include/linux/hugetlb.h mm/hugetlb.c+58 -00 repliesApplied

Reviews trailers per patch

3 of 4 patches have a Reviewed-by or Acked-by.

PatchMike KravetzAxel Rasmussen
1/4
2/4R-b R-b
3/4R-b R-b
4/4R-b

Trailers given in replies are filled; those carried in the patches from earlier versions are outlined with dashes.

Read the v4 thread

Cover letter [PATCH v4 0/4] hugetlb: Disable huge pmd unshare for uffd-wp

v4:
- fix build for sparc by removing extra line in patch 1 [Mike]
- pick Mike's r-b for patch 4

v3:
- patch 4:
- fix build failure for !CMA and/or !HUGETLBFS [Axel]
- Fix mmu notifier range to use start/end [Mike]
- add more r-bs

v2:
- patch 4: move hugetlb_unshare_all_pmds() into mm/hugetlb.c, so it can be used even outside userfaultfd.c

This series tries to disable huge pmd unshare of hugetlbfs backed memory for uffd-wp. Although uffd-wp of hugetlbfs is still during rfc stage, the idea of this series may be needed for multiple tasks (Axel's uffd minor fault series, and Mike's soft dirty series), so I picked it out from the larger series.

References works:

Uffd shmem+hugetlbfs rfc:
https://lore.kernel.org/lkml/[email protected]/

Uffd minor mode for hugetlbfs:
https://lore.kernel.org/lkml/[email protected]/

Soft dirty for hugetlbfs:
https://lore.kernel.org/lkml/[email protected]/

Please review, thanks.

Peter Xu (4):
hugetlb: Pass vma into huge_pte_alloc() and huge_pmd_share() hugetlb/userfaultfd: Forbid huge pmd sharing when uffd enabled mm/hugetlb: Move flush_hugetlb_tlb_range() into hugetlb.h hugetlb/userfaultfd: Unshare all pmds for hugetlbfs when register wp

 arch/arm64/mm/hugetlbpage.c   |  7 ++-
 arch/ia64/mm/hugetlbpage.c    |  3 +-
 arch/mips/mm/hugetlbpage.c    |  4 +-
 arch/parisc/mm/hugetlbpage.c  |  2 +-
 arch/powerpc/mm/hugetlbpage.c |  3 +-
 arch/s390/mm/hugetlbpage.c    |  2 +-
 arch/sh/mm/hugetlbpage.c      |  2 +-
 arch/sparc/mm/hugetlbpage.c   |  2 +-
 fs/userfaultfd.c              |  4 ++
 include/linux/hugetlb.h       | 18 ++++++-
 include/linux/userfaultfd_k.h |  9 ++++
 mm/hugetlb.c                  | 94 +++++++++++++++++++++++++++--------
 mm/userfaultfd.c              |  2 +-
 13 files changed, 116 insertions(+), 36 deletions(-)
Signature · 1 line
2.26.2