Re: [PATCH v3 2/4] mm/huge_memory: add split_huge_page_to_order()

From: Lorenzo Stoakes
Date: Fri Oct 24 2025 - 12:16:51 EST


On Tue, Oct 21, 2025 at 11:35:28PM -0400, Zi Yan wrote:
> When caller does not supply a list to split_huge_page_to_list_to_order(),
> use split_huge_page_to_order() instead.
>
> Signed-off-by: Zi Yan <ziy@xxxxxxxxxx>

LGTM, so:

Reviewed-by: Lorenzo Stoakes <lorenzo.stoakes@xxxxxxxxxx>

> ---
> include/linux/huge_mm.h | 12 ++++++++++--
> 1 file changed, 10 insertions(+), 2 deletions(-)
>
> diff --git a/include/linux/huge_mm.h b/include/linux/huge_mm.h
> index 7698b3542c4f..34f8d8453bf3 100644
> --- a/include/linux/huge_mm.h
> +++ b/include/linux/huge_mm.h
> @@ -381,6 +381,10 @@ static inline int split_huge_page_to_list_to_order(struct page *page, struct lis
> {
> return __split_huge_page_to_list_to_order(page, list, new_order, false);
> }
> +static inline int split_huge_page_to_order(struct page *page, unsigned int new_order)
> +{
> + return split_huge_page_to_list_to_order(page, NULL, new_order);
> +}
>
> /*
> * try_folio_split_to_order - try to split a @folio at @page to @new_order using
> @@ -400,8 +404,7 @@ static inline int try_folio_split_to_order(struct folio *folio,
> struct page *page, unsigned int new_order)
> {
> if (!non_uniform_split_supported(folio, new_order, /* warns= */ false))
> - return split_huge_page_to_list_to_order(&folio->page, NULL,
> - new_order);
> + return split_huge_page_to_order(&folio->page, new_order);
> return folio_split(folio, new_order, page, NULL);
> }
> static inline int split_huge_page(struct page *page)
> @@ -590,6 +593,11 @@ split_huge_page_to_list_to_order(struct page *page, struct list_head *list,
> VM_WARN_ON_ONCE_PAGE(1, page);
> return -EINVAL;
> }
> +static inline int split_huge_page_to_order(struct page *page, unsigned int new_order)
> +{
> + VM_WARN_ON_ONCE_PAGE(1, page);
> + return -EINVAL;
> +}
> static inline int split_huge_page(struct page *page)
> {
> VM_WARN_ON_ONCE_PAGE(1, page);
> --
> 2.51.0
>