path: root/fs/open.c
diff options
authorSong Liu <>2019-09-23 15:38:00 -0700
committerLinus Torvalds <>2019-09-24 15:54:11 -0700
commit99cb0dbd47a15d395bf3faa78dc122bc5efe3fc0 (patch)
tree58e5902f24cd4a5b024152f5bd42a3589ff431cb /fs/open.c
parent579c571e2efdb8e5b50959ae66b6142e05bd704f (diff)
mm,thp: add read-only THP support for (non-shmem) FS
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. [ fix build without CONFIG_SHMEM] Link: [ fix double unlock in collapse_file()] Link: Link: Signed-off-by: Song Liu <> Acked-by: Rik van Riel <> Acked-by: Kirill A. Shutemov <> Acked-by: Johannes Weiner <> Cc: Stephen Rothwell <> Cc: Dan Carpenter <> Cc: Hillf Danton <> Cc: Hugh Dickins <> Cc: William Kucharski <> Cc: Oleg Nesterov <> Signed-off-by: Andrew Morton <> Signed-off-by: Linus Torvalds <>
Diffstat (limited to 'fs/open.c')
0 files changed, 0 insertions, 0 deletions