Re: [RFC PATCH v2 07/47] hugetlb: add CONFIG_HUGETLB_HIGH_GRANULARITY_MAPPING

From: Mike Kravetz
Date: Fri Dec 09 2022 - 17:52:43 EST


On 10/21/22 16:36, James Houghton wrote:
> This adds the Kconfig to enable or disable high-granularity mapping.
> Each architecture must explicitly opt-in to it (via
> ARCH_WANT_HUGETLB_HIGH_GRANULARITY_MAPPING), but when opted in, HGM will
> be enabled by default if HUGETLB_PAGE is enabled.
>
> Signed-off-by: James Houghton <jthoughton@xxxxxxxxxx>
> ---
> fs/Kconfig | 7 +++++++
> 1 file changed, 7 insertions(+)
>
> diff --git a/fs/Kconfig b/fs/Kconfig
> index 2685a4d0d353..ce2567946016 100644
> --- a/fs/Kconfig
> +++ b/fs/Kconfig
> @@ -267,6 +267,13 @@ config HUGETLB_PAGE_OPTIMIZE_VMEMMAP_DEFAULT_ON
> enable HVO by default. It can be disabled via hugetlb_free_vmemmap=off
> (boot command line) or hugetlb_optimize_vmemmap (sysctl).
>
> +config ARCH_WANT_HUGETLB_HIGH_GRANULARITY_MAPPING
> + bool
> +
> +config HUGETLB_HIGH_GRANULARITY_MAPPING
> + def_bool HUGETLB_PAGE
> + depends on ARCH_WANT_HUGETLB_HIGH_GRANULARITY_MAPPING

Might also need to make this depend on CONFIG_ARCH_WANT_HUGE_PMD_SHARE
as the vma local allocation will only happen in this case.

--
Mike Kravetz

> +
> config MEMFD_CREATE
> def_bool TMPFS || HUGETLBFS
>
> --
> 2.38.0.135.g90850a2211-goog
>