Re: [PATCH 04/16] huge tmpfs: revert shmem's use of transhuge_vma_enabled()

From: Yang Shi
Date: Fri Jul 30 2021 - 17:57:05 EST


On Fri, Jul 30, 2021 at 12:36 AM Hugh Dickins <hughd@xxxxxxxxxx> wrote:
>
> 5.14 commit e6be37b2e7bd ("mm/huge_memory.c: add missing read-only THP
> checking in transparent_hugepage_enabled()") added transhuge_vma_enabled()
> as a wrapper for two very different checks: shmem_huge_enabled() prefers
> to show those two checks explicitly, as before.

Basically I have no objection to separating them again. But IMHO they
seem not very different. Or just makes things easier for the following
patches?

>
> Signed-off-by: Hugh Dickins <hughd@xxxxxxxxxx>
> ---
> mm/shmem.c | 3 ++-
> 1 file changed, 2 insertions(+), 1 deletion(-)
>
> diff --git a/mm/shmem.c b/mm/shmem.c
> index ce3ccaac54d6..c6fa6f4f2db8 100644
> --- a/mm/shmem.c
> +++ b/mm/shmem.c
> @@ -4003,7 +4003,8 @@ bool shmem_huge_enabled(struct vm_area_struct *vma)
> loff_t i_size;
> pgoff_t off;
>
> - if (!transhuge_vma_enabled(vma, vma->vm_flags))
> + if ((vma->vm_flags & VM_NOHUGEPAGE) ||
> + test_bit(MMF_DISABLE_THP, &vma->vm_mm->flags))
> return false;
> if (shmem_huge == SHMEM_HUGE_FORCE)
> return true;
> --
> 2.26.2
>