Lines Matching defs:pmd

572 static void smaps_pmd_entry(pmd_t *pmd, unsigned long addr,
581 if (pmd_present(*pmd)) {
582 page = vm_normal_page_pmd(vma, addr, *pmd);
583 } else if (unlikely(thp_migration_supported() && is_swap_pmd(*pmd))) {
584 swp_entry_t entry = pmd_to_swp_entry(*pmd);
602 smaps_account(mss, page, true, pmd_young(*pmd), pmd_dirty(*pmd),
606 static void smaps_pmd_entry(pmd_t *pmd, unsigned long addr,
612 static int smaps_pte_range(pmd_t *pmd, unsigned long addr, unsigned long end,
619 ptl = pmd_trans_huge_lock(pmd, vma);
621 smaps_pmd_entry(pmd, addr, walk);
626 pte = pte_offset_map_lock(vma->vm_mm, pmd, addr, &ptl);
1131 pmd_t old, pmd = *pmdp;
1133 if (pmd_present(pmd)) {
1137 pmd = pmd_mkdirty(pmd);
1139 pmd = pmd_mkyoung(pmd);
1141 pmd = pmd_wrprotect(pmd);
1142 pmd = pmd_clear_soft_dirty(pmd);
1144 set_pmd_at(vma->vm_mm, addr, pmdp, pmd);
1145 } else if (is_migration_entry(pmd_to_swp_entry(pmd))) {
1146 pmd = pmd_swp_clear_soft_dirty(pmd);
1147 set_pmd_at(vma->vm_mm, addr, pmdp, pmd);
1157 static int clear_refs_pte_range(pmd_t *pmd, unsigned long addr,
1166 ptl = pmd_trans_huge_lock(pmd, vma);
1169 clear_soft_dirty_pmd(vma, addr, pmd);
1173 if (!pmd_present(*pmd))
1176 page = pmd_page(*pmd);
1179 pmdp_test_and_clear_young(vma, addr, pmd);
1187 pte = pte_offset_map_lock(vma->vm_mm, pmd, addr, &ptl);
1471 pmd_t pmd = *pmdp;
1477 if (pmd_present(pmd)) {
1478 page = pmd_page(pmd);
1481 if (pmd_soft_dirty(pmd))
1483 if (pmd_uffd_wp(pmd))
1486 frame = pmd_pfn(pmd) +
1490 else if (is_swap_pmd(pmd)) {
1491 swp_entry_t entry = pmd_to_swp_entry(pmd);
1505 if (pmd_swp_soft_dirty(pmd))
1507 if (pmd_swp_uffd_wp(pmd))
1509 VM_BUG_ON(!is_pmd_migration_entry(pmd));
1840 unsigned long addr, pmd_t pmd)
1844 if (pmd_present(pmd)) {
1848 if (!pmd_uffd_wp(pmd))
1852 page = vm_normal_page_pmd(vma, addr, pmd);
1857 if (is_zero_pfn(pmd_pfn(pmd)))
1859 if (pmd_soft_dirty(pmd))
1861 } else if (is_swap_pmd(pmd)) {
1865 if (!pmd_swp_uffd_wp(pmd))
1867 if (pmd_swp_soft_dirty(pmd))
1871 swp = pmd_to_swp_entry(pmd);
1884 pmd_t old, pmd = *pmdp;
1886 if (pmd_present(pmd)) {
1888 pmd = pmd_mkuffd_wp(old);
1889 set_pmd_at(vma->vm_mm, addr, pmdp, pmd);
1890 } else if (is_migration_entry(pmd_to_swp_entry(pmd))) {
1891 pmd = pmd_swp_mkuffd_wp(pmd);
1892 set_pmd_at(vma->vm_mm, addr, pmdp, pmd);
2096 static int pagemap_scan_thp_entry(pmd_t *pmd, unsigned long start,
2106 ptl = pmd_trans_huge_lock(pmd, vma);
2111 pagemap_thp_category(p, vma, start, *pmd);
2131 split_huge_pmd(vma, pmd, start);
2137 make_uffd_wp_pmd(vma, start, pmd);
2147 static int pagemap_scan_pmd_entry(pmd_t *pmd, unsigned long start,
2159 ret = pagemap_scan_thp_entry(pmd, start, end, walk);
2166 start_pte = pte = pte_offset_map_lock(vma->vm_mm, pmd, start, &ptl);
2602 static struct page *can_gather_numa_stats_pmd(pmd_t pmd,
2609 if (!pmd_present(pmd))
2612 page = vm_normal_page_pmd(vma, addr, pmd);
2627 static int gather_pte_stats(pmd_t *pmd, unsigned long addr,
2637 ptl = pmd_trans_huge_lock(pmd, vma);
2641 page = can_gather_numa_stats_pmd(*pmd, vma, addr);
2643 gather_stats(page, md, pmd_dirty(*pmd),
2649 orig_pte = pte = pte_offset_map_lock(walk->mm, pmd, addr, &ptl);