Lines Matching defs:pmd
574 static void smaps_pmd_entry(pmd_t *pmd, unsigned long addr,
583 if (pmd_present(*pmd)) {
585 page = follow_trans_huge_pmd(vma, addr, pmd, FOLL_DUMP);
586 } else if (unlikely(thp_migration_supported() && is_swap_pmd(*pmd))) {
587 swp_entry_t entry = pmd_to_swp_entry(*pmd);
605 smaps_account(mss, page, true, pmd_young(*pmd), pmd_dirty(*pmd),
609 static void smaps_pmd_entry(pmd_t *pmd, unsigned long addr,
615 static int smaps_pte_range(pmd_t *pmd, unsigned long addr, unsigned long end,
622 ptl = pmd_trans_huge_lock(pmd, vma);
624 smaps_pmd_entry(pmd, addr, walk);
629 if (pmd_trans_unstable(pmd))
636 pte = pte_offset_map_lock(vma->vm_mm, pmd, addr, &ptl);
1133 pmd_t old, pmd = *pmdp;
1135 if (pmd_present(pmd)) {
1139 pmd = pmd_mkdirty(pmd);
1141 pmd = pmd_mkyoung(pmd);
1143 pmd = pmd_wrprotect(pmd);
1144 pmd = pmd_clear_soft_dirty(pmd);
1146 set_pmd_at(vma->vm_mm, addr, pmdp, pmd);
1147 } else if (is_migration_entry(pmd_to_swp_entry(pmd))) {
1148 pmd = pmd_swp_clear_soft_dirty(pmd);
1149 set_pmd_at(vma->vm_mm, addr, pmdp, pmd);
1159 static int clear_refs_pte_range(pmd_t *pmd, unsigned long addr,
1168 ptl = pmd_trans_huge_lock(pmd, vma);
1171 clear_soft_dirty_pmd(vma, addr, pmd);
1175 if (!pmd_present(*pmd))
1178 page = pmd_page(*pmd);
1181 pmdp_test_and_clear_young(vma, addr, pmd);
1189 if (pmd_trans_unstable(pmd))
1192 pte = pte_offset_map_lock(vma->vm_mm, pmd, addr, &ptl);
1460 pmd_t pmd = *pmdp;
1466 if (pmd_present(pmd)) {
1467 page = pmd_page(pmd);
1470 if (pmd_soft_dirty(pmd))
1473 frame = pmd_pfn(pmd) +
1477 else if (is_swap_pmd(pmd)) {
1478 swp_entry_t entry = pmd_to_swp_entry(pmd);
1488 if (pmd_swp_soft_dirty(pmd))
1490 VM_BUG_ON(!is_pmd_migration_entry(pmd));
1807 static struct page *can_gather_numa_stats_pmd(pmd_t pmd,
1814 if (!pmd_present(pmd))
1817 page = vm_normal_page_pmd(vma, addr, pmd);
1832 static int gather_pte_stats(pmd_t *pmd, unsigned long addr,
1842 ptl = pmd_trans_huge_lock(pmd, vma);
1846 page = can_gather_numa_stats_pmd(*pmd, vma, addr);
1848 gather_stats(page, md, pmd_dirty(*pmd),
1854 if (pmd_trans_unstable(pmd))
1857 orig_pte = pte = pte_offset_map_lock(walk->mm, pmd, addr, &ptl);