Lines Matching refs:pvmw

853 	DEFINE_FOLIO_VMA_WALK(pvmw, folio, vma, address, 0);  in folio_referenced_one()
857 while (page_vma_mapped_walk(&pvmw)) { in folio_referenced_one()
858 address = pvmw.address; in folio_referenced_one()
861 if (!folio_test_large(folio) || !pvmw.pte) { in folio_referenced_one()
864 page_vma_mapped_walk_done(&pvmw); in folio_referenced_one()
894 page_vma_mapped_walk_done(&pvmw); in folio_referenced_one()
898 if (lru_gen_enabled() && pvmw.pte) { in folio_referenced_one()
899 if (lru_gen_look_around(&pvmw)) in folio_referenced_one()
901 } else if (pvmw.pte) { in folio_referenced_one()
903 pvmw.pte)) in folio_referenced_one()
907 pvmw.pmd)) in folio_referenced_one()
1024 static int page_vma_mkclean_one(struct page_vma_mapped_walk *pvmw) in page_vma_mkclean_one() argument
1027 struct vm_area_struct *vma = pvmw->vma; in page_vma_mkclean_one()
1029 unsigned long address = pvmw->address; in page_vma_mkclean_one()
1036 vma->vm_mm, address, vma_address_end(pvmw)); in page_vma_mkclean_one()
1039 while (page_vma_mapped_walk(pvmw)) { in page_vma_mkclean_one()
1042 address = pvmw->address; in page_vma_mkclean_one()
1043 if (pvmw->pte) { in page_vma_mkclean_one()
1044 pte_t *pte = pvmw->pte; in page_vma_mkclean_one()
1066 pmd_t *pmd = pvmw->pmd; in page_vma_mkclean_one()
1097 DEFINE_FOLIO_VMA_WALK(pvmw, folio, vma, address, PVMW_SYNC); in page_mkclean_one()
1100 *cleaned += page_vma_mkclean_one(&pvmw); in page_mkclean_one()
1149 struct page_vma_mapped_walk pvmw = { in mapping_wrprotect_range_one() local
1158 state->cleaned += page_vma_mkclean_one(&pvmw); in mapping_wrprotect_range_one()
1227 struct page_vma_mapped_walk pvmw = { in pfn_mkclean_range() local
1238 pvmw.address = vma_address(vma, pgoff, nr_pages); in pfn_mkclean_range()
1239 VM_BUG_ON_VMA(pvmw.address == -EFAULT, vma); in pfn_mkclean_range()
1241 return page_vma_mkclean_one(&pvmw); in pfn_mkclean_range()
1849 struct page_vma_mapped_walk *pvmw, in folio_unmap_pte_batch() argument
1852 unsigned long end_addr, addr = pvmw->address; in folio_unmap_pte_batch()
1853 struct vm_area_struct *vma = pvmw->vma; in folio_unmap_pte_batch()
1871 return folio_pte_batch(folio, pvmw->pte, pte, max_nr); in folio_unmap_pte_batch()
1881 DEFINE_FOLIO_VMA_WALK(pvmw, folio, vma, address, 0); in try_to_unmap_one()
1898 pvmw.flags = PVMW_SYNC; in try_to_unmap_one()
1908 range.end = vma_address_end(&pvmw); in try_to_unmap_one()
1924 while (page_vma_mapped_walk(&pvmw)) { 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()
1977 address = pvmw.address; in try_to_unmap_one()
2012 if (huge_pmd_unshare(mm, vma, address, pvmw.pte)) { in try_to_unmap_one()
2030 pteval = huge_ptep_clear_flush(vma, address, pvmw.pte); in try_to_unmap_one()
2034 nr_pages = folio_unmap_pte_batch(folio, &pvmw, flags, pteval); in try_to_unmap_one()
2039 pteval = get_and_clear_ptes(mm, address, pvmw.pte, nr_pages); in try_to_unmap_one()
2055 pte_clear(mm, address, pvmw.pte); in try_to_unmap_one()
2063 pte_install_uffd_wp_if_needed(vma, address, pvmw.pte, pteval); in try_to_unmap_one()
2072 set_huge_pte_at(mm, address, pvmw.pte, pteval, in try_to_unmap_one()
2076 set_pte_at(mm, address, pvmw.pte, pteval); in try_to_unmap_one()
2129 set_ptes(mm, address, pvmw.pte, pteval, nr_pages); in try_to_unmap_one()
2142 set_ptes(mm, address, pvmw.pte, pteval, nr_pages); in try_to_unmap_one()
2150 set_pte_at(mm, address, pvmw.pte, pteval); in try_to_unmap_one()
2161 set_pte_at(mm, address, pvmw.pte, pteval); in try_to_unmap_one()
2169 set_pte_at(mm, address, pvmw.pte, pteval); in try_to_unmap_one()
2194 set_pte_at(mm, address, pvmw.pte, swp_pte); in try_to_unmap_one()
2229 page_vma_mapped_walk_done(&pvmw); in try_to_unmap_one()
2284 DEFINE_FOLIO_VMA_WALK(pvmw, folio, vma, address, 0); in try_to_migrate_one()
2300 pvmw.flags = PVMW_SYNC; in try_to_migrate_one()
2310 range.end = vma_address_end(&pvmw); in try_to_migrate_one()
2326 while (page_vma_mapped_walk(&pvmw)) { in try_to_migrate_one()
2328 if (!pvmw.pte) { in try_to_migrate_one()
2330 split_huge_pmd_locked(vma, pvmw.address, in try_to_migrate_one()
2331 pvmw.pmd, true); in try_to_migrate_one()
2333 page_vma_mapped_walk_done(&pvmw); in try_to_migrate_one()
2338 pmd_pfn(*pvmw.pmd) - folio_pfn(folio)); in try_to_migrate_one()
2342 if (set_pmd_migration_entry(&pvmw, subpage)) { in try_to_migrate_one()
2344 page_vma_mapped_walk_done(&pvmw); in try_to_migrate_one()
2352 VM_BUG_ON_FOLIO(!pvmw.pte, folio); in try_to_migrate_one()
2358 pteval = ptep_get(pvmw.pte); in try_to_migrate_one()
2367 address = pvmw.address; in try_to_migrate_one()
2396 page_vma_mapped_walk_done(&pvmw); in try_to_migrate_one()
2400 if (huge_pmd_unshare(mm, vma, address, pvmw.pte)) { in try_to_migrate_one()
2415 page_vma_mapped_walk_done(&pvmw); in try_to_migrate_one()
2421 pteval = huge_ptep_clear_flush(vma, address, pvmw.pte); in try_to_migrate_one()
2437 pteval = ptep_get_and_clear(mm, address, pvmw.pte); in try_to_migrate_one()
2441 pteval = ptep_clear_flush(vma, address, pvmw.pte); in try_to_migrate_one()
2447 pte_clear(mm, address, pvmw.pte); in try_to_migrate_one()
2463 set_huge_pte_at(mm, address, pvmw.pte, pteval, in try_to_migrate_one()
2467 set_pte_at(mm, address, pvmw.pte, pteval); in try_to_migrate_one()
2493 set_huge_pte_at(mm, address, pvmw.pte, in try_to_migrate_one()
2496 set_pte_at(mm, address, pvmw.pte, pteval); in try_to_migrate_one()
2498 page_vma_mapped_walk_done(&pvmw); in try_to_migrate_one()
2506 set_huge_pte_at(mm, address, pvmw.pte, in try_to_migrate_one()
2509 page_vma_mapped_walk_done(&pvmw); in try_to_migrate_one()
2514 set_pte_at(mm, address, pvmw.pte, pteval); in try_to_migrate_one()
2516 page_vma_mapped_walk_done(&pvmw); in try_to_migrate_one()
2552 set_huge_pte_at(mm, address, pvmw.pte, swp_pte, in try_to_migrate_one()
2555 set_pte_at(mm, address, pvmw.pte, swp_pte); in try_to_migrate_one()