Lines Matching defs:pmd
583 static void smaps_pmd_entry(pmd_t *pmd, unsigned long addr,
592 if (pmd_present(*pmd)) {
593 page = vm_normal_page_pmd(vma, addr, *pmd);
594 } else if (unlikely(thp_migration_supported() && is_swap_pmd(*pmd))) {
595 swp_entry_t entry = pmd_to_swp_entry(*pmd);
613 smaps_account(mss, page, true, pmd_young(*pmd), pmd_dirty(*pmd),
617 static void smaps_pmd_entry(pmd_t *pmd, unsigned long addr,
623 static int smaps_pte_range(pmd_t *pmd, unsigned long addr, unsigned long end,
630 ptl = pmd_trans_huge_lock(pmd, vma);
632 smaps_pmd_entry(pmd, addr, walk);
637 pte = pte_offset_map_lock(vma->vm_mm, pmd, addr, &ptl);
1145 pmd_t old, pmd = *pmdp;
1147 if (pmd_present(pmd)) {
1151 pmd = pmd_mkdirty(pmd);
1153 pmd = pmd_mkyoung(pmd);
1155 pmd = pmd_wrprotect(pmd);
1156 pmd = pmd_clear_soft_dirty(pmd);
1158 set_pmd_at(vma->vm_mm, addr, pmdp, pmd);
1159 } else if (is_migration_entry(pmd_to_swp_entry(pmd))) {
1160 pmd = pmd_swp_clear_soft_dirty(pmd);
1161 set_pmd_at(vma->vm_mm, addr, pmdp, pmd);
1171 static int clear_refs_pte_range(pmd_t *pmd, unsigned long addr,
1180 ptl = pmd_trans_huge_lock(pmd, vma);
1183 clear_soft_dirty_pmd(vma, addr, pmd);
1187 if (!pmd_present(*pmd))
1190 page = pmd_page(*pmd);
1193 pmdp_test_and_clear_young(vma, addr, pmd);
1201 pte = pte_offset_map_lock(vma->vm_mm, pmd, addr, &ptl);
1487 pmd_t pmd = *pmdp;
1493 if (pmd_present(pmd)) {
1494 page = pmd_page(pmd);
1497 if (pmd_soft_dirty(pmd))
1499 if (pmd_uffd_wp(pmd))
1502 frame = pmd_pfn(pmd) +
1506 else if (is_swap_pmd(pmd)) {
1507 swp_entry_t entry = pmd_to_swp_entry(pmd);
1521 if (pmd_swp_soft_dirty(pmd))
1523 if (pmd_swp_uffd_wp(pmd))
1525 VM_BUG_ON(!is_pmd_migration_entry(pmd));
1855 static struct page *can_gather_numa_stats_pmd(pmd_t pmd,
1862 if (!pmd_present(pmd))
1865 page = vm_normal_page_pmd(vma, addr, pmd);
1880 static int gather_pte_stats(pmd_t *pmd, unsigned long addr,
1890 ptl = pmd_trans_huge_lock(pmd, vma);
1894 page = can_gather_numa_stats_pmd(*pmd, vma, addr);
1896 gather_stats(page, md, pmd_dirty(*pmd),
1902 orig_pte = pte = pte_offset_map_lock(walk->mm, pmd, addr, &ptl);