Re: [PATCH v4 2/7] mm/khugepaged: extract reference check into folio_pte_referenced() helper
From: Nico Pache (Red Hat)
Date: Wed Aug 12 2026 - 20:20:26 EST
On 8/11/26 9:47 AM, David Hildenbrand (Arm) wrote:
> On 8/11/26 14:48, Nico Pache (Red Hat) 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 (Red Hat) <nico.pache@xxxxxxxxx>
>> ---
>> mm/khugepaged.c | 32 ++++++++++++++++++--------------
>> 1 file changed, 18 insertions(+), 14 deletions(-)
>>
>> diff --git a/mm/khugepaged.c b/mm/khugepaged.c
>> index 1e26ea97381a..8babd4c97db6 100644
>> --- a/mm/khugepaged.c
>> +++ b/mm/khugepaged.c
>> @@ -672,6 +672,22 @@ static void release_pte_pages(pte_t *pte, pte_t *_pte,
>> }
>> }
>>
>> +/*
>> + * folio_pte_referenced() - Check if a folio or its PTE mapping was recently used
>> + *
>> + * Return: true if recent access was observed through either the folio state
>> + * or the current PTE mapping.
>> + */
>
> No need for doc for such a trivial internal helper :)
Ok sounds good I can send a fixup to remove it. Lorenzo has often asked for
these when I've introduced functions, so I've got in the habit of including them.
>
>> +static inline bool folio_pte_referenced(struct folio *folio,
>> + struct vm_area_struct *vma, unsigned long addr, pte_t pteval)
>> +{
>> + /* The folio was referenced previously ... */
>> + if (folio_test_young(folio) || folio_test_referenced(folio))
>> + return true;
>> + /* ... or the PTE mapping was recently used */
>> + return pte_young(pteval) || mmu_notifier_test_young(vma->vm_mm, addr);
>> +}
>> +
>
> Acked-by: David Hildenbrand (Arm) <david@xxxxxxxxxx>
Thank you :)
>