Lines Matching refs:pvmw

828 	DEFINE_FOLIO_VMA_WALK(pvmw, folio, vma, address, 0);  in folio_referenced_one()
831 while (page_vma_mapped_walk(&pvmw)) { in folio_referenced_one()
832 address = pvmw.address; in folio_referenced_one()
839 if (pvmw.pte && ptes != pvmw.nr_pages) in folio_referenced_one()
849 if (pvmw.flags & PVMW_PGTABLE_CROSSED) in folio_referenced_one()
854 page_vma_mapped_walk_done(&pvmw); in folio_referenced_one()
869 page_vma_mapped_walk_done(&pvmw); in folio_referenced_one()
873 if (lru_gen_enabled() && pvmw.pte) { in folio_referenced_one()
874 if (lru_gen_look_around(&pvmw)) in folio_referenced_one()
876 } else if (pvmw.pte) { in folio_referenced_one()
878 pvmw.pte)) in folio_referenced_one()
882 pvmw.pmd)) in folio_referenced_one()
982 static int page_vma_mkclean_one(struct page_vma_mapped_walk *pvmw) in page_vma_mkclean_one() argument
985 struct vm_area_struct *vma = pvmw->vma; in page_vma_mkclean_one()
987 unsigned long address = pvmw->address; in page_vma_mkclean_one()
994 vma->vm_mm, address, vma_address_end(pvmw)); in page_vma_mkclean_one()
997 while (page_vma_mapped_walk(pvmw)) { in page_vma_mkclean_one()
1000 address = pvmw->address; in page_vma_mkclean_one()
1001 if (pvmw->pte) { in page_vma_mkclean_one()
1002 pte_t *pte = pvmw->pte; in page_vma_mkclean_one()
1024 pmd_t *pmd = pvmw->pmd; in page_vma_mkclean_one()
1062 DEFINE_FOLIO_VMA_WALK(pvmw, folio, vma, address, PVMW_SYNC); in page_mkclean_one()
1065 *cleaned += page_vma_mkclean_one(&pvmw); in page_mkclean_one()
1114 struct page_vma_mapped_walk pvmw = { in mapping_wrprotect_range_one() local
1123 state->cleaned += page_vma_mkclean_one(&pvmw); in mapping_wrprotect_range_one()
1192 struct page_vma_mapped_walk pvmw = { in pfn_mkclean_range() local
1203 pvmw.address = vma_address(vma, pgoff, nr_pages); in pfn_mkclean_range()
1204 VM_BUG_ON_VMA(pvmw.address == -EFAULT, vma); in pfn_mkclean_range()
1206 return page_vma_mkclean_one(&pvmw); in pfn_mkclean_range()
1824 struct page_vma_mapped_walk *pvmw, in folio_unmap_pte_batch() argument
1827 unsigned long end_addr, addr = pvmw->address; in folio_unmap_pte_batch()
1828 struct vm_area_struct *vma = pvmw->vma; in folio_unmap_pte_batch()
1846 return folio_pte_batch(folio, pvmw->pte, pte, max_nr); in folio_unmap_pte_batch()
1856 DEFINE_FOLIO_VMA_WALK(pvmw, folio, vma, address, 0); in try_to_unmap_one()
1874 pvmw.flags = PVMW_SYNC; in try_to_unmap_one()
1884 range.end = vma_address_end(&pvmw); in try_to_unmap_one()
1900 while (page_vma_mapped_walk(&pvmw)) { in try_to_unmap_one()
1918 if (pvmw.pte && ptes != pvmw.nr_pages) in try_to_unmap_one()
1928 if (pvmw.flags & PVMW_PGTABLE_CROSSED) in try_to_unmap_one()
1936 if (!pvmw.pte) { in try_to_unmap_one()
1938 if (unmap_huge_pmd_locked(vma, pvmw.address, pvmw.pmd, folio)) in try_to_unmap_one()
1953 split_huge_pmd_locked(vma, pvmw.address, in try_to_unmap_one()
1954 pvmw.pmd, false); in try_to_unmap_one()
1956 page_vma_mapped_walk_restart(&pvmw); in try_to_unmap_one()
1962 VM_BUG_ON_FOLIO(!pvmw.pte, folio); in try_to_unmap_one()
1968 pteval = ptep_get(pvmw.pte); in try_to_unmap_one()
1979 address = pvmw.address; in try_to_unmap_one()
2014 if (huge_pmd_unshare(mm, vma, address, pvmw.pte)) { in try_to_unmap_one()
2032 pteval = huge_ptep_clear_flush(vma, address, pvmw.pte); in try_to_unmap_one()
2036 nr_pages = folio_unmap_pte_batch(folio, &pvmw, flags, pteval); in try_to_unmap_one()
2041 pteval = get_and_clear_ptes(mm, address, pvmw.pte, nr_pages); in try_to_unmap_one()
2057 pte_clear(mm, address, pvmw.pte); in try_to_unmap_one()
2065 pte_install_uffd_wp_if_needed(vma, address, pvmw.pte, pteval); in try_to_unmap_one()
2074 set_huge_pte_at(mm, address, pvmw.pte, pteval, in try_to_unmap_one()
2078 set_pte_at(mm, address, pvmw.pte, pteval); in try_to_unmap_one()
2131 set_ptes(mm, address, pvmw.pte, pteval, nr_pages); in try_to_unmap_one()
2144 set_ptes(mm, address, pvmw.pte, pteval, nr_pages); in try_to_unmap_one()
2152 set_pte_at(mm, address, pvmw.pte, pteval); in try_to_unmap_one()
2163 set_pte_at(mm, address, pvmw.pte, pteval); in try_to_unmap_one()
2171 set_pte_at(mm, address, pvmw.pte, pteval); in try_to_unmap_one()
2196 set_pte_at(mm, address, pvmw.pte, swp_pte); in try_to_unmap_one()
2231 page_vma_mapped_walk_done(&pvmw); in try_to_unmap_one()
2286 DEFINE_FOLIO_VMA_WALK(pvmw, folio, vma, address, 0); in try_to_migrate_one()
2302 pvmw.flags = PVMW_SYNC; in try_to_migrate_one()
2312 range.end = vma_address_end(&pvmw); in try_to_migrate_one()
2328 while (page_vma_mapped_walk(&pvmw)) { in try_to_migrate_one()
2330 if (!pvmw.pte) { in try_to_migrate_one()
2335 split_huge_pmd_locked(vma, pvmw.address, in try_to_migrate_one()
2336 pvmw.pmd, true); in try_to_migrate_one()
2338 page_vma_mapped_walk_done(&pvmw); in try_to_migrate_one()
2342 pmdval = pmdp_get(pvmw.pmd); in try_to_migrate_one()
2353 if (set_pmd_migration_entry(&pvmw, subpage)) { in try_to_migrate_one()
2355 page_vma_mapped_walk_done(&pvmw); in try_to_migrate_one()
2363 VM_BUG_ON_FOLIO(!pvmw.pte, folio); in try_to_migrate_one()
2369 pteval = ptep_get(pvmw.pte); in try_to_migrate_one()
2380 address = pvmw.address; in try_to_migrate_one()
2409 page_vma_mapped_walk_done(&pvmw); in try_to_migrate_one()
2413 if (huge_pmd_unshare(mm, vma, address, pvmw.pte)) { in try_to_migrate_one()
2428 page_vma_mapped_walk_done(&pvmw); in try_to_migrate_one()
2434 pteval = huge_ptep_clear_flush(vma, address, pvmw.pte); in try_to_migrate_one()
2450 pteval = ptep_get_and_clear(mm, address, pvmw.pte); in try_to_migrate_one()
2454 pteval = ptep_clear_flush(vma, address, pvmw.pte); in try_to_migrate_one()
2462 pte_clear(mm, address, pvmw.pte); in try_to_migrate_one()
2479 set_huge_pte_at(mm, address, pvmw.pte, pteval, in try_to_migrate_one()
2483 set_pte_at(mm, address, pvmw.pte, pteval); in try_to_migrate_one()
2509 set_huge_pte_at(mm, address, pvmw.pte, in try_to_migrate_one()
2512 set_pte_at(mm, address, pvmw.pte, pteval); in try_to_migrate_one()
2514 page_vma_mapped_walk_done(&pvmw); in try_to_migrate_one()
2522 set_huge_pte_at(mm, address, pvmw.pte, in try_to_migrate_one()
2525 page_vma_mapped_walk_done(&pvmw); in try_to_migrate_one()
2530 set_pte_at(mm, address, pvmw.pte, pteval); in try_to_migrate_one()
2532 page_vma_mapped_walk_done(&pvmw); in try_to_migrate_one()
2568 set_huge_pte_at(mm, address, pvmw.pte, swp_pte, in try_to_migrate_one()
2571 set_pte_at(mm, address, pvmw.pte, swp_pte); in try_to_migrate_one()