Lines Matching refs:pmd
38 static unsigned long change_pte_range(struct vm_area_struct *vma, pmd_t *pmd, in change_pte_range() argument
57 if (pmd_trans_unstable(pmd)) in change_pte_range()
65 pte = pte_offset_map_lock(vma->vm_mm, pmd, addr, &ptl); in change_pte_range()
191 static inline int pmd_none_or_clear_bad_unless_trans_huge(pmd_t *pmd) in pmd_none_or_clear_bad_unless_trans_huge() argument
193 pmd_t pmdval = pmd_read_atomic(pmd); in pmd_none_or_clear_bad_unless_trans_huge()
205 pmd_clear_bad(pmd); in pmd_none_or_clear_bad_unless_trans_huge()
216 pmd_t *pmd; in change_pmd_range() local
224 pmd = pmd_offset(pud, addr); in change_pmd_range()
238 if (!is_swap_pmd(*pmd) && !pmd_devmap(*pmd) && in change_pmd_range()
239 pmd_none_or_clear_bad_unless_trans_huge(pmd)) in change_pmd_range()
250 if (is_swap_pmd(*pmd) || pmd_trans_huge(*pmd) || pmd_devmap(*pmd)) { in change_pmd_range()
252 __split_huge_pmd(vma, pmd, addr, false, NULL); in change_pmd_range()
254 int nr_ptes = change_huge_pmd(vma, pmd, addr, in change_pmd_range()
269 this_pages = change_pte_range(vma, pmd, addr, next, newprot, in change_pmd_range()
274 } while (pmd++, addr = next, addr != end); in change_pmd_range()