Re: [PATCH v2 0/4] hugetlb: Disable huge pmd unshare for uffd-wp
From: Axel Rasmussen
Date: Thu Feb 18 2021 - 14:35:51 EST
I reviewed these patches, rebased my minor fault handling series on
top of this series, and then ran some stress tests of minor fault
handling. Other than the one comment I left about !CONFIG_CMA, I
didn't spot any issues. So:
Tested-By: Axel Rasmussen <axelrasmussen@xxxxxxxxxx>
(Or Reviewed-By: , if that makes more sense.)
On Wed, Feb 17, 2021 at 12:44 PM Peter Xu <peterx@xxxxxxxxxx> wrote:
>
> 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/20210115170907.24498-1-peterx@xxxxxxxxxx/
>
> Uffd minor mode for hugetlbfs:
> https://lore.kernel.org/lkml/20210212215403.3457686-1-axelrasmussen@xxxxxxxxxx/
>
> Soft dirty for hugetlbfs:
> https://lore.kernel.org/lkml/20210211000322.159437-1-mike.kravetz@xxxxxxxxxx/
>
> 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 | 1 +
> fs/userfaultfd.c | 4 ++
> include/linux/hugetlb.h | 16 +++++-
> include/linux/userfaultfd_k.h | 9 ++++
> mm/hugetlb.c | 94 +++++++++++++++++++++++++++--------
> mm/userfaultfd.c | 2 +-
> 13 files changed, 114 insertions(+), 35 deletions(-)
>
> --
> 2.26.2
>
>