[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