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@xxxxxxxxxxxxx> Reviewed-by: Christophe Leroy <christophe.leroy@xxxxxxxxxx> > --- > 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.