On Mon, Jun 26, 2023 at 11:14 AM Ryan Roberts <ryan.roberts@xxxxxxx> wrote: > > In preparation for extending vma_alloc_zeroed_movable_folio() to > allocate a arbitrary order folio, expose clear_huge_page() > unconditionally, so that it can be used to zero the allocated folio in > the generic implementation of vma_alloc_zeroed_movable_folio(). > > Signed-off-by: Ryan Roberts <ryan.roberts@xxxxxxx> > --- > include/linux/mm.h | 3 ++- > mm/memory.c | 2 +- > 2 files changed, 3 insertions(+), 2 deletions(-) > > diff --git a/include/linux/mm.h b/include/linux/mm.h > index 7f1741bd870a..7e3bf45e6491 100644 > --- a/include/linux/mm.h > +++ b/include/linux/mm.h > @@ -3684,10 +3684,11 @@ enum mf_action_page_type { > */ > extern const struct attribute_group memory_failure_attr_group; > > -#if defined(CONFIG_TRANSPARENT_HUGEPAGE) || defined(CONFIG_HUGETLBFS) > extern void clear_huge_page(struct page *page, > unsigned long addr_hint, > unsigned int pages_per_huge_page); > + > +#if defined(CONFIG_TRANSPARENT_HUGEPAGE) || defined(CONFIG_HUGETLBFS) We might not want to depend on THP eventually. Right now, we still have to, unless splitting is optional, which seems to contradict 06/10. (deferred_split_folio() is a nop without THP.)