Home
last modified time | relevance | path

Searched refs:pvmw (Results 1 – 5 of 5) sorted by relevance

/linux/mm/
H A Drmap.c921 DEFINE_FOLIO_VMA_WALK(pvmw, folio, vma, address, 0); in folio_referenced_one()
925 while (page_vma_mapped_walk(&pvmw)) { in folio_referenced_one()
926 address = pvmw.address; in folio_referenced_one()
934 if (pvmw.pte && ptes != pvmw.nr_pages) in folio_referenced_one()
944 if (pvmw.flags & PVMW_PGTABLE_CROSSED) in folio_referenced_one()
949 page_vma_mapped_walk_done(&pvmw); in folio_referenced_one()
964 page_vma_mapped_walk_done(&pvmw); in folio_referenced_one()
968 if (pvmw.pte && folio_test_large(folio)) { in folio_referenced_one()
971 pte_t pteval = ptep_get(pvmw.pte); in folio_referenced_one()
973 nr = folio_pte_batch(folio, pvmw.pte, pteval, max_nr); in folio_referenced_one()
[all …]
H A Dmigrate.c298 static bool try_to_map_unused_to_zeropage(struct page_vma_mapped_walk *pvmw, in try_to_map_unused_to_zeropage() argument
312 if (folio_test_mlocked(folio) || (pvmw->vma->vm_flags & VM_LOCKED) || in try_to_map_unused_to_zeropage()
313 mm_forbids_zeropage(pvmw->vma->vm_mm)) in try_to_map_unused_to_zeropage()
324 newpte = pte_mkspecial(pfn_pte(zero_pfn(pvmw->address), in try_to_map_unused_to_zeropage()
325 pvmw->vma->vm_page_prot)); in try_to_map_unused_to_zeropage()
332 set_pte_at(pvmw->vma->vm_mm, pvmw->address, pvmw->pte, newpte); in try_to_map_unused_to_zeropage()
334 dec_mm_counter(pvmw->vma->vm_mm, mm_counter(folio)); in try_to_map_unused_to_zeropage()
350 DEFINE_FOLIO_VMA_WALK(pvmw, rmap_walk_arg->folio, vma, addr, PVMW_SYNC | PVMW_MIGRATION); in remove_migration_pte()
352 while (page_vma_mapped_walk(&pvmw)) { in remove_migration_pte()
362 idx = linear_page_index(vma, pvmw.address) - pvmw.pgoff; in remove_migration_pte()
[all …]
H A Dhuge_memory.c4977 int set_pmd_migration_entry(struct page_vma_mapped_walk *pvmw, in set_pmd_migration_entry() argument
4981 struct vm_area_struct *vma = pvmw->vma; in set_pmd_migration_entry()
4983 unsigned long address = pvmw->address; in set_pmd_migration_entry()
4989 if (!(pvmw->pmd && !pvmw->pte)) in set_pmd_migration_entry()
4993 if (unlikely(!pmd_present(*pvmw->pmd))) in set_pmd_migration_entry()
4994 pmdval = pmdp_huge_get_and_clear(vma->vm_mm, address, pvmw->pmd); in set_pmd_migration_entry()
4996 pmdval = pmdp_invalidate(vma, address, pvmw->pmd); in set_pmd_migration_entry()
5001 set_pmd_at(mm, address, pvmw->pmd, pmdval); in set_pmd_migration_entry()
5022 set_pmd_at(mm, address, pvmw->pmd, pmdswp); in set_pmd_migration_entry()
5030 void remove_migration_pmd(struct page_vma_mapped_walk *pvmw, struct page *new) in remove_migration_pmd() argument
[all …]
H A Dmigrate_device.c197 struct page_vma_mapped_walk pvmw = { in migrate_vma_collect_huge_pmd() local
211 ret = set_pmd_migration_entry(&pvmw, folio_page(folio, 0)); in migrate_vma_collect_huge_pmd()
/linux/include/linux/
H A Dswapops.h325 extern int set_pmd_migration_entry(struct page_vma_mapped_walk *pvmw,
328 extern void remove_migration_pmd(struct page_vma_mapped_walk *pvmw,
342 static inline int set_pmd_migration_entry(struct page_vma_mapped_walk *pvmw, in set_pmd_migration_entry() argument
348 static inline void remove_migration_pmd(struct page_vma_mapped_walk *pvmw, in remove_migration_pmd() argument