Lines Matching refs:pmd
41 static pte_t *lock_pte_protection(struct vm_area_struct *vma, pmd_t *pmd, in lock_pte_protection() argument
49 return pte_offset_map_lock(vma->vm_mm, pmd, addr, ptl); in lock_pte_protection()
51 pmdl = pmd_lock(vma->vm_mm, pmd); in lock_pte_protection()
52 if (unlikely(pmd_trans_huge(*pmd) || pmd_none(*pmd))) { in lock_pte_protection()
57 pte = pte_offset_map_lock(vma->vm_mm, pmd, addr, ptl); in lock_pte_protection()
62 static unsigned long change_pte_range(struct vm_area_struct *vma, pmd_t *pmd, in change_pte_range() argument
71 pte = lock_pte_protection(vma, pmd, addr, prot_numa, &ptl); in change_pte_range()
140 pmd_t *pmd; in change_pmd_range() local
147 pmd = pmd_offset(pud, addr); in change_pmd_range()
152 if (!pmd_trans_huge(*pmd) && pmd_none_or_clear_bad(pmd)) in change_pmd_range()
161 if (pmd_trans_huge(*pmd)) { in change_pmd_range()
163 split_huge_page_pmd(vma, addr, pmd); in change_pmd_range()
165 int nr_ptes = change_huge_pmd(vma, pmd, addr, in change_pmd_range()
180 this_pages = change_pte_range(vma, pmd, addr, next, newprot, in change_pmd_range()
183 } while (pmd++, addr = next, addr != end); in change_pmd_range()