Lines Matching refs:pvmw

277 static bool try_to_map_unused_to_zeropage(struct page_vma_mapped_walk *pvmw,  in try_to_map_unused_to_zeropage()  argument
290 VM_BUG_ON_PAGE(pte_present(ptep_get(pvmw->pte)), page); in try_to_map_unused_to_zeropage()
292 if (folio_test_mlocked(folio) || (pvmw->vma->vm_flags & VM_LOCKED) || in try_to_map_unused_to_zeropage()
293 mm_forbids_zeropage(pvmw->vma->vm_mm)) in try_to_map_unused_to_zeropage()
308 newpte = pte_mkspecial(pfn_pte(my_zero_pfn(pvmw->address), in try_to_map_unused_to_zeropage()
309 pvmw->vma->vm_page_prot)); in try_to_map_unused_to_zeropage()
310 set_pte_at(pvmw->vma->vm_mm, pvmw->address, pvmw->pte, newpte); in try_to_map_unused_to_zeropage()
312 dec_mm_counter(pvmw->vma->vm_mm, mm_counter(folio)); in try_to_map_unused_to_zeropage()
328 DEFINE_FOLIO_VMA_WALK(pvmw, rmap_walk_arg->folio, vma, addr, PVMW_SYNC | PVMW_MIGRATION); in remove_migration_pte()
330 while (page_vma_mapped_walk(&pvmw)) { in remove_migration_pte()
340 idx = linear_page_index(vma, pvmw.address) - pvmw.pgoff; in remove_migration_pte()
345 if (!pvmw.pte) { in remove_migration_pte()
348 remove_migration_pmd(&pvmw, new); in remove_migration_pte()
353 try_to_map_unused_to_zeropage(&pvmw, folio, idx)) in remove_migration_pte()
358 old_pte = ptep_get(pvmw.pte); in remove_migration_pte()
400 hugetlb_add_anon_rmap(folio, vma, pvmw.address, in remove_migration_pte()
404 set_huge_pte_at(vma->vm_mm, pvmw.address, pvmw.pte, pte, in remove_migration_pte()
411 pvmw.address, rmap_flags); in remove_migration_pte()
414 set_pte_at(vma->vm_mm, pvmw.address, pvmw.pte, pte); in remove_migration_pte()
419 trace_remove_migration_pte(pvmw.address, pte_val(pte), in remove_migration_pte()
423 update_mmu_cache(vma, pvmw.address, pvmw.pte); in remove_migration_pte()