[<prev] [next>] [<thread-prev] [thread-next>] [day] [month] [year] [list]
Message-ID: <1563926391.8456.1.camel@intel.com>
Date: Tue, 23 Jul 2019 23:59:54 +0000
From: "Huang, Kai" <kai.huang@...el.com>
To: "linux-kernel@...r.kernel.org" <linux-kernel@...r.kernel.org>,
"linux-mm@...ck.org" <linux-mm@...ck.org>,
"songliubraving@...com" <songliubraving@...com>,
"linux-fsdevel@...r.kernel.org" <linux-fsdevel@...r.kernel.org>
CC: "kirill.shutemov@...ux.intel.com" <kirill.shutemov@...ux.intel.com>,
"matthew.wilcox@...cle.com" <matthew.wilcox@...cle.com>,
"hdanton@...a.com" <hdanton@...a.com>,
"kernel-team@...com" <kernel-team@...com>,
"akpm@...ux-foundation.org" <akpm@...ux-foundation.org>,
"william.kucharski@...cle.com" <william.kucharski@...cle.com>
Subject: Re: [PATCH v9 5/6] mm,thp: add read-only THP support for
(non-shmem) FS
On Mon, 2019-06-24 at 17:12 -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.
>
> Acked-by: Rik van Riel <riel@...riel.com>
> Signed-off-by: Song Liu <songliubraving@...com>
> ---
> mm/Kconfig | 11 ++++++
> mm/filemap.c | 4 +--
> mm/khugepaged.c | 94 +++++++++++++++++++++++++++++++++++++++++--------
> mm/rmap.c | 12 ++++---
> 4 files changed, 100 insertions(+), 21 deletions(-)
>
> diff --git a/mm/Kconfig b/mm/Kconfig
> index f0c76ba47695..0a8fd589406d 100644
> --- a/mm/Kconfig
> +++ b/mm/Kconfig
> @@ -762,6 +762,17 @@ config GUP_BENCHMARK
>
> See tools/testing/selftests/vm/gup_benchmark.c
>
> +config READ_ONLY_THP_FOR_FS
> + bool "Read-only THP for filesystems (EXPERIMENTAL)"
> + depends on TRANSPARENT_HUGE_PAGECACHE && SHMEM
Hi,
Maybe a stupid question since I am new, but why does it depend on SHMEM?
Thanks,
-Kai
Powered by blists - more mailing lists