2023-11-23 22:42:25

by Peter Xu

[permalink] [raw]
Subject: [PATCH] fs/Kconfig: Make hugetlbfs a menuconfig

Hugetlb vmemmap default option (HUGETLB_PAGE_OPTIMIZE_VMEMMAP_DEFAULT_ON)
is a sub-option to hugetlbfs, but it shows in the same level as hugetlbfs
itself, under "Pesudo filesystems".

Make the vmemmap option a sub-option to hugetlbfs, by changing hugetlbfs
into a menuconfig.

Cc: Mike Kravetz <[email protected]>
Cc: Muchun Song <[email protected]>
Cc: [email protected]
Signed-off-by: Peter Xu <[email protected]>
---
fs/Kconfig | 20 +++++++++++---------
1 file changed, 11 insertions(+), 9 deletions(-)

diff --git a/fs/Kconfig b/fs/Kconfig
index fd1f655b4f1f..8636198a8689 100644
--- a/fs/Kconfig
+++ b/fs/Kconfig
@@ -254,7 +254,7 @@ config TMPFS_QUOTA
config ARCH_SUPPORTS_HUGETLBFS
def_bool n

-config HUGETLBFS
+menuconfig HUGETLBFS
bool "HugeTLB file system support"
depends on X86 || SPARC64 || ARCH_SUPPORTS_HUGETLBFS || BROKEN
depends on (SYSFS || SYSCTL)
@@ -266,14 +266,7 @@ config HUGETLBFS

If unsure, say N.

-config HUGETLB_PAGE
- def_bool HUGETLBFS
-
-config HUGETLB_PAGE_OPTIMIZE_VMEMMAP
- def_bool HUGETLB_PAGE
- depends on ARCH_WANT_OPTIMIZE_HUGETLB_VMEMMAP
- depends on SPARSEMEM_VMEMMAP
-
+if HUGETLBFS
config HUGETLB_PAGE_OPTIMIZE_VMEMMAP_DEFAULT_ON
bool "HugeTLB Vmemmap Optimization (HVO) defaults to on"
default n
@@ -282,6 +275,15 @@ config HUGETLB_PAGE_OPTIMIZE_VMEMMAP_DEFAULT_ON
The HugeTLB VmemmapvOptimization (HVO) defaults to off. Say Y here to
enable HVO by default. It can be disabled via hugetlb_free_vmemmap=off
(boot command line) or hugetlb_optimize_vmemmap (sysctl).
+endif # HUGETLBFS
+
+config HUGETLB_PAGE
+ def_bool HUGETLBFS
+
+config HUGETLB_PAGE_OPTIMIZE_VMEMMAP
+ def_bool HUGETLB_PAGE
+ depends on ARCH_WANT_OPTIMIZE_HUGETLB_VMEMMAP
+ depends on SPARSEMEM_VMEMMAP

config ARCH_HAS_GIGANTIC_PAGE
bool
--
2.41.0


2023-11-24 00:19:48

by Randy Dunlap

[permalink] [raw]
Subject: Re: [PATCH] fs/Kconfig: Make hugetlbfs a menuconfig

BTW:

On 11/23/23 14:39, Peter Xu wrote:
> Hugetlb vmemmap default option (HUGETLB_PAGE_OPTIMIZE_VMEMMAP_DEFAULT_ON)
> is a sub-option to hugetlbfs, but it shows in the same level as hugetlbfs
> itself, under "Pesudo filesystems".
> Make the vmemmap option a sub-option to hugetlbfs, by changing hugetlbfs
> into a menuconfig.
>
> Cc: Mike Kravetz <[email protected]>
> Cc: Muchun Song <[email protected]>
> Cc: [email protected]
> Signed-off-by: Peter Xu <[email protected]>
> ---
> fs/Kconfig | 20 +++++++++++---------
> 1 file changed, 11 insertions(+), 9 deletions(-)
>
> diff --git a/fs/Kconfig b/fs/Kconfig
> index fd1f655b4f1f..8636198a8689 100644
> --- a/fs/Kconfig
> +++ b/fs/Kconfig
> @@ -254,7 +254,7 @@ config TMPFS_QUOTA
> config ARCH_SUPPORTS_HUGETLBFS
> def_bool n
>
> -config HUGETLBFS
> +menuconfig HUGETLBFS
> bool "HugeTLB file system support"
> depends on X86 || SPARC64 || ARCH_SUPPORTS_HUGETLBFS || BROKEN
> depends on (SYSFS || SYSCTL)
> @@ -266,14 +266,7 @@ config HUGETLBFS
>
> If unsure, say N.
>
> -config HUGETLB_PAGE
> - def_bool HUGETLBFS
> -
> -config HUGETLB_PAGE_OPTIMIZE_VMEMMAP
> - def_bool HUGETLB_PAGE
> - depends on ARCH_WANT_OPTIMIZE_HUGETLB_VMEMMAP
> - depends on SPARSEMEM_VMEMMAP
> -
> +if HUGETLBFS
> config HUGETLB_PAGE_OPTIMIZE_VMEMMAP_DEFAULT_ON
> bool "HugeTLB Vmemmap Optimization (HVO) defaults to on"
> default n
> @@ -282,6 +275,15 @@ config HUGETLB_PAGE_OPTIMIZE_VMEMMAP_DEFAULT_ON
> The HugeTLB VmemmapvOptimization (HVO) defaults to off. Say Y here to

Is this small 'v' ^ a typo?

thanks.

> enable HVO by default. It can be disabled via hugetlb_free_vmemmap=off
> (boot command line) or hugetlb_optimize_vmemmap (sysctl).
> +endif # HUGETLBFS
> +
> +config HUGETLB_PAGE
> + def_bool HUGETLBFS
> +
> +config HUGETLB_PAGE_OPTIMIZE_VMEMMAP
> + def_bool HUGETLB_PAGE
> + depends on ARCH_WANT_OPTIMIZE_HUGETLB_VMEMMAP
> + depends on SPARSEMEM_VMEMMAP
>
> config ARCH_HAS_GIGANTIC_PAGE
> bool

--
~Randy

2023-11-24 02:38:04

by Muchun Song

[permalink] [raw]
Subject: Re: [PATCH] fs/Kconfig: Make hugetlbfs a menuconfig



> On Nov 24, 2023, at 08:19, Randy Dunlap <[email protected]> wrote:
>
> BTW:
>
> On 11/23/23 14:39, Peter Xu wrote:
>> Hugetlb vmemmap default option (HUGETLB_PAGE_OPTIMIZE_VMEMMAP_DEFAULT_ON)
>> is a sub-option to hugetlbfs, but it shows in the same level as hugetlbfs
>> itself, under "Pesudo filesystems".
>> Make the vmemmap option a sub-option to hugetlbfs, by changing hugetlbfs
>> into a menuconfig.
>>
>> Cc: Mike Kravetz <[email protected]>
>> Cc: Muchun Song <[email protected]>
>> Cc: [email protected]
>> Signed-off-by: Peter Xu <[email protected]>
>> ---
>> fs/Kconfig | 20 +++++++++++---------
>> 1 file changed, 11 insertions(+), 9 deletions(-)
>>
>> diff --git a/fs/Kconfig b/fs/Kconfig
>> index fd1f655b4f1f..8636198a8689 100644
>> --- a/fs/Kconfig
>> +++ b/fs/Kconfig
>> @@ -254,7 +254,7 @@ config TMPFS_QUOTA
>> config ARCH_SUPPORTS_HUGETLBFS
>> def_bool n
>>
>> -config HUGETLBFS
>> +menuconfig HUGETLBFS
>> bool "HugeTLB file system support"
>> depends on X86 || SPARC64 || ARCH_SUPPORTS_HUGETLBFS || BROKEN
>> depends on (SYSFS || SYSCTL)
>> @@ -266,14 +266,7 @@ config HUGETLBFS
>>
>> If unsure, say N.
>>
>> -config HUGETLB_PAGE
>> - def_bool HUGETLBFS
>> -
>> -config HUGETLB_PAGE_OPTIMIZE_VMEMMAP
>> - def_bool HUGETLB_PAGE
>> - depends on ARCH_WANT_OPTIMIZE_HUGETLB_VMEMMAP
>> - depends on SPARSEMEM_VMEMMAP
>> -
>> +if HUGETLBFS
>> config HUGETLB_PAGE_OPTIMIZE_VMEMMAP_DEFAULT_ON
>> bool "HugeTLB Vmemmap Optimization (HVO) defaults to on"
>> default n
>> @@ -282,6 +275,15 @@ config HUGETLB_PAGE_OPTIMIZE_VMEMMAP_DEFAULT_ON
>> The HugeTLB VmemmapvOptimization (HVO) defaults to off. Say Y here to
>
> Is this small 'v' ^ a typo?

Yes. Thanks for pointing it out. Although it is not related to this
patch, but it will be nice for me to carry this tiny typo fix. Hi,
Peter, would you like help me do this?

Thanks.

2023-11-24 15:17:14

by Peter Xu

[permalink] [raw]
Subject: Re: [PATCH] fs/Kconfig: Make hugetlbfs a menuconfig

On Fri, Nov 24, 2023 at 10:37:06AM +0800, Muchun Song wrote:
> >> +if HUGETLBFS
> >> config HUGETLB_PAGE_OPTIMIZE_VMEMMAP_DEFAULT_ON
> >> bool "HugeTLB Vmemmap Optimization (HVO) defaults to on"
> >> default n
> >> @@ -282,6 +275,15 @@ config HUGETLB_PAGE_OPTIMIZE_VMEMMAP_DEFAULT_ON
> >> The HugeTLB VmemmapvOptimization (HVO) defaults to off. Say Y here to
> >
> > Is this small 'v' ^ a typo?
>
> Yes. Thanks for pointing it out. Although it is not related to this
> patch, but it will be nice for me to carry this tiny typo fix. Hi,
> Peter, would you like help me do this?

Sure, this patch is indeed more or less moving that around; I can touch
that up. I'll resend.

Thanks,

--
Peter Xu