Re: [PATCH v2 2/7] mm/khugepaged: extract young page check into collapse_is_referenced() helper

From: David Hildenbrand (Arm)

Date: Wed Jul 29 2026 - 05:51:21 EST


On 7/15/26 04:59, Nico Pache wrote:
> This change deduplicates the "is this PTE/folio referenced enough to be
> considered for a collapse" condition that was repeated in both
> __collapse_huge_page_isolate() and collapse_scan_pmd(), extracting it into
> a single inline helper function.
>
> Also move the comment and use it as the function header. While we are at
> it, updated the comment to clarify that a young pte is a recently accessed
> one.
>
> Acked-by: Usama Arif <usama.arif@xxxxxxxxx>
> Signed-off-by: Nico Pache <npache@xxxxxxxxxx>
> ---
> mm/khugepaged.c | 35 +++++++++++++++++++----------------
> 1 file changed, 19 insertions(+), 16 deletions(-)
>
> diff --git a/mm/khugepaged.c b/mm/khugepaged.c
> index 6ec0812210b6..e92e2b928f17 100644
> --- a/mm/khugepaged.c
> +++ b/mm/khugepaged.c
> @@ -672,6 +672,23 @@ static void release_pte_pages(pte_t *pte, pte_t *_pte,
> }
> }
>
> +/*
> + * collapse_is_referenced() - Check for enough referenced PTEs to justify collapsing
> + *
> + * If collapse was initiated by khugepaged, check that the page has been
> + * recently accessed (young pte) to justify collapsing the page.
> + *
> + * Return: true if the page has been recently accessed.
> + */
> +static inline bool collapse_is_referenced(struct collapse_control *cc, pte_t pteval,
> + struct folio *folio, struct vm_area_struct *vma, unsigned long addr)


The name is absolutely confusing. The "collapse" is referenced? Hugh? :)

I appreciate factoring this out into a helper, but there must be a better name.

--
Cheers,

David