Searched refs:pvmw (Results 1 – 5 of 5) sorted by relevance
| /linux/mm/ |
| H A D | rmap.c | 921 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 D | migrate.c | 298 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 D | huge_memory.c | 4977 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 D | migrate_device.c | 197 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 D | swapops.h | 325 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
|