[PATCH v4 01/13] mm/hugepage pud: Allow arch-specific helper function to check huge page pud support
Christophe Leroy
christophe.leroy at csgroup.eu
Tue Jul 11 03:16:08 AEST 2023
Le 10/07/2023 à 18:08, Aneesh Kumar K.V a écrit :
> Architectures like powerpc would like to enable transparent huge page pud
> support only with radix translation. To support that add
> has_transparent_pud_hugepage() helper that architectures can override.
>
> Signed-off-by: Aneesh Kumar K.V <aneesh.kumar at linux.ibm.com>
Reviewed-by: Christophe Leroy <christophe.leroy at csgroup.eu>
> ---
> drivers/nvdimm/pfn_devs.c | 2 +-
> include/linux/pgtable.h | 3 +++
> 2 files changed, 4 insertions(+), 1 deletion(-)
>
> diff --git a/drivers/nvdimm/pfn_devs.c b/drivers/nvdimm/pfn_devs.c
> index af7d9301520c..18ad315581ca 100644
> --- a/drivers/nvdimm/pfn_devs.c
> +++ b/drivers/nvdimm/pfn_devs.c
> @@ -100,7 +100,7 @@ static unsigned long *nd_pfn_supported_alignments(unsigned long *alignments)
>
> if (has_transparent_hugepage()) {
> alignments[1] = HPAGE_PMD_SIZE;
> - if (IS_ENABLED(CONFIG_HAVE_ARCH_TRANSPARENT_HUGEPAGE_PUD))
> + if (has_transparent_pud_hugepage())
> alignments[2] = HPAGE_PUD_SIZE;
> }
>
> diff --git a/include/linux/pgtable.h b/include/linux/pgtable.h
> index 5063b482e34f..cf13f8d938a8 100644
> --- a/include/linux/pgtable.h
> +++ b/include/linux/pgtable.h
> @@ -1499,6 +1499,9 @@ typedef unsigned int pgtbl_mod_mask;
> #define has_transparent_hugepage() IS_BUILTIN(CONFIG_TRANSPARENT_HUGEPAGE)
> #endif
>
> +#ifndef has_transparent_pud_hugepage
> +#define has_transparent_pud_hugepage() IS_BUILTIN(CONFIG_HAVE_ARCH_TRANSPARENT_HUGEPAGE_PUD)
> +#endif
> /*
> * On some architectures it depends on the mm if the p4d/pud or pmd
> * layer of the page table hierarchy is folded or not.
More information about the Linuxppc-dev
mailing list