Lines Matching refs:pmd
62 unsigned long address, pmd_t *pmd, unsigned int flags) in follow_page_pte() argument
70 if (unlikely(pmd_bad(*pmd))) in follow_page_pte()
73 ptep = pte_offset_map_lock(mm, pmd, address, &ptl); in follow_page_pte()
90 migration_entry_wait(mm, pmd, address); in follow_page_pte()
183 pmd_t *pmd; in follow_page_mask() local
212 pmd = pmd_offset(pud, address); in follow_page_mask()
213 if (pmd_none(*pmd)) in follow_page_mask()
215 if (pmd_huge(*pmd) && vma->vm_flags & VM_HUGETLB) { in follow_page_mask()
216 page = follow_huge_pmd(mm, address, pmd, flags); in follow_page_mask()
221 if ((flags & FOLL_NUMA) && pmd_protnone(*pmd)) in follow_page_mask()
223 if (pmd_trans_huge(*pmd)) { in follow_page_mask()
225 split_huge_page_pmd(vma, address, pmd); in follow_page_mask()
226 return follow_page_pte(vma, address, pmd, flags); in follow_page_mask()
228 ptl = pmd_lock(mm, pmd); in follow_page_mask()
229 if (likely(pmd_trans_huge(*pmd))) { in follow_page_mask()
230 if (unlikely(pmd_trans_splitting(*pmd))) { in follow_page_mask()
232 wait_split_huge_page(vma->anon_vma, pmd); in follow_page_mask()
235 pmd, flags); in follow_page_mask()
243 return follow_page_pte(vma, address, pmd, flags); in follow_page_mask()
252 pmd_t *pmd; in get_gate_page() local
266 pmd = pmd_offset(pud, address); in get_gate_page()
267 if (pmd_none(*pmd)) in get_gate_page()
269 VM_BUG_ON(pmd_trans_huge(*pmd)); in get_gate_page()
270 pte = pte_offset_map(pmd, address); in get_gate_page()
1053 static int gup_pte_range(pmd_t pmd, unsigned long addr, unsigned long end, in gup_pte_range() argument
1059 ptem = ptep = pte_offset_map(&pmd, addr); in gup_pte_range()
1112 static int gup_pte_range(pmd_t pmd, unsigned long addr, unsigned long end, in gup_pte_range() argument
1259 pmd_t pmd = READ_ONCE(*pmdp); in gup_pmd_range() local
1262 if (pmd_none(pmd) || pmd_trans_splitting(pmd)) in gup_pmd_range()
1265 if (unlikely(pmd_trans_huge(pmd) || pmd_huge(pmd))) { in gup_pmd_range()
1271 if (pmd_protnone(pmd)) in gup_pmd_range()
1274 if (!gup_huge_pmd(pmd, pmdp, addr, next, write, in gup_pmd_range()
1278 } else if (unlikely(is_hugepd(__hugepd(pmd_val(pmd))))) { in gup_pmd_range()
1283 if (!gup_huge_pd(__hugepd(pmd_val(pmd)), addr, in gup_pmd_range()
1286 } else if (!gup_pte_range(pmd, addr, next, write, pages, nr)) in gup_pmd_range()