2019-08-12 20:39:14

by Johannes Weiner

[permalink] [raw]
Subject: Re: [PATCH v10 6/7] mm,thp: add read-only THP support for (non-shmem) FS

On Thu, Aug 01, 2019 at 11:42:43AM -0700, Song Liu wrote:
> This patch is (hopefully) the first step to enable THP for non-shmem
> filesystems.
>
> This patch enables an application to put part of its text sections to THP
> via madvise, for example:
>
> madvise((void *)0x600000, 0x200000, MADV_HUGEPAGE);
>
> We tried to reuse the logic for THP on tmpfs.
>
> Currently, write is not supported for non-shmem THP. khugepaged will only
> process vma with VM_DENYWRITE. sys_mmap() ignores VM_DENYWRITE requests
> (see ksys_mmap_pgoff). The only way to create vma with VM_DENYWRITE is
> execve(). This requirement limits non-shmem THP to text sections.
>
> The next patch will handle writes, which would only happen when the all
> the vmas with VM_DENYWRITE are unmapped.
>
> An EXPERIMENTAL config, READ_ONLY_THP_FOR_FS, is added to gate this
> feature.
>
> Cc: Johannes Weiner <[email protected]>
> Acked-by: Rik van Riel <[email protected]>
> Acked-by: Kirill A. Shutemov <[email protected]>
> Signed-off-by: Song Liu <[email protected]>

Acked-by: Johannes Weiner <[email protected]>