mm/huge_memory: add TRANSPARENT_HUGEPAGE_NEVER for THP
Commit Message
From: ye xingchen <ye.xingchen@zte.com.cn>
Sometimes we may need the /sys/kernel/mm/transparent_hugepage/enabled to
default as [never] at the first time.
Signed-off-by: ye xingchen <ye.xingchen@zte.com.cn>
---
mm/Kconfig | 5 +++++
mm/huge_memory.c | 2 ++
2 files changed, 7 insertions(+)
Comments
On Wed, Nov 30, 2022 at 04:51:46PM +0800, ye.xingchen@zte.com.cn wrote:
> From: ye xingchen <ye.xingchen@zte.com.cn>
>
> Sometimes we may need the /sys/kernel/mm/transparent_hugepage/enabled to
> default as [never] at the first time.
What is going wrong with THP enabled that you need to disable it?
On Thu, 1 Dec 2022, Matthew Wilcox wrote:
> On Wed, Nov 30, 2022 at 04:51:46PM +0800, ye.xingchen@zte.com.cn wrote:
> > From: ye xingchen <ye.xingchen@zte.com.cn>
> >
> > Sometimes we may need the /sys/kernel/mm/transparent_hugepage/enabled to
> > default as [never] at the first time.
>
> What is going wrong with THP enabled that you need to disable it?
>
That would be useful to know in addition to why this needs to be part of
.config and not simply using the kernel command line option.
On Fri, 2 Dec 2022, David Rientjes wrote:
> On Thu, 1 Dec 2022, Matthew Wilcox wrote:
> > On Wed, Nov 30, 2022 at 04:51:46PM +0800, ye.xingchen@zte.com.cn wrote:
> > > From: ye xingchen <ye.xingchen@zte.com.cn>
> > >
> > > Sometimes we may need the /sys/kernel/mm/transparent_hugepage/enabled to
> > > default as [never] at the first time.
> >
> > What is going wrong with THP enabled that you need to disable it?
> >
>
> That would be useful to know in addition to why this needs to be part of
> .config and not simply using the kernel command line option.
There is also the puzzle of what new feature gets added by
#ifdef CONFIG_TRANSPARENT_HUGEPAGE_NEVER
#endif
Hugh
@@ -797,6 +797,11 @@ choice
madvise(MADV_HUGEPAGE) but it won't risk to increase the
memory footprint of applications without a guaranteed
benefit.
+
+ config TRANSPARENT_HUGEPAGE_NEVER
+ bool "never"
+ help
+ Disabling Transparent Hugepage.
endchoice
config THP_SWAP
@@ -60,6 +60,8 @@ unsigned long transparent_hugepage_flags __read_mostly =
#endif
#ifdef CONFIG_TRANSPARENT_HUGEPAGE_MADVISE
(1<<TRANSPARENT_HUGEPAGE_REQ_MADV_FLAG)|
+#endif
+#ifdef CONFIG_TRANSPARENT_HUGEPAGE_NEVER
#endif
(1<<TRANSPARENT_HUGEPAGE_DEFRAG_REQ_MADV_FLAG)|
(1<<TRANSPARENT_HUGEPAGE_DEFRAG_KHUGEPAGED_FLAG)|