proc: convert clear_refs_pte_range to use a folio
[linux-2.6-block.git] / fs / proc / task_mmu.c
index 23fbab954c20b62b7b67413763ca777001073d3b..b94101cd27068c88c66a5a8bcaf1aba751f5d050 100644 (file)
@@ -1161,7 +1161,7 @@ static int clear_refs_pte_range(pmd_t *pmd, unsigned long addr,
        struct vm_area_struct *vma = walk->vma;
        pte_t *pte, ptent;
        spinlock_t *ptl;
-       struct page *page;
+       struct folio *folio;
 
        ptl = pmd_trans_huge_lock(pmd, vma);
        if (ptl) {
@@ -1173,12 +1173,12 @@ static int clear_refs_pte_range(pmd_t *pmd, unsigned long addr,
                if (!pmd_present(*pmd))
                        goto out;
 
-               page = pmd_page(*pmd);
+               folio = pmd_folio(*pmd);
 
                /* Clear accessed and referenced bits. */
                pmdp_test_and_clear_young(vma, addr, pmd);
-               test_and_clear_page_young(page);
-               ClearPageReferenced(page);
+               folio_test_clear_young(folio);
+               folio_clear_referenced(folio);
 out:
                spin_unlock(ptl);
                return 0;
@@ -1200,14 +1200,14 @@ out:
                if (!pte_present(ptent))
                        continue;
 
-               page = vm_normal_page(vma, addr, ptent);
-               if (!page)
+               folio = vm_normal_folio(vma, addr, ptent);
+               if (!folio)
                        continue;
 
                /* Clear accessed and referenced bits. */
                ptep_test_and_clear_young(vma, addr, pte);
-               test_and_clear_page_young(page);
-               ClearPageReferenced(page);
+               folio_test_clear_young(folio);
+               folio_clear_referenced(folio);
        }
        pte_unmap_unlock(pte - 1, ptl);
        cond_resched();