Lines Matching refs:pmd
39 static pte_t *lock_pte_protection(struct vm_area_struct *vma, pmd_t *pmd, in lock_pte_protection() argument
47 return pte_offset_map_lock(vma->vm_mm, pmd, addr, ptl); in lock_pte_protection()
49 pmdl = pmd_lock(vma->vm_mm, pmd); in lock_pte_protection()
50 if (unlikely(pmd_trans_huge(*pmd) || pmd_none(*pmd))) { in lock_pte_protection()
55 pte = pte_offset_map_lock(vma->vm_mm, pmd, addr, ptl); in lock_pte_protection()
60 static unsigned long change_pte_range(struct vm_area_struct *vma, pmd_t *pmd, in change_pte_range() argument
69 pte = lock_pte_protection(vma, pmd, addr, prot_numa, &ptl); in change_pte_range()
138 pmd_t *pmd; in change_pmd_range() local
145 pmd = pmd_offset(pud, addr); in change_pmd_range()
150 if (!pmd_trans_huge(*pmd) && pmd_none_or_clear_bad(pmd)) in change_pmd_range()
159 if (pmd_trans_huge(*pmd)) { in change_pmd_range()
161 split_huge_page_pmd(vma, addr, pmd); in change_pmd_range()
163 int nr_ptes = change_huge_pmd(vma, pmd, addr, in change_pmd_range()
178 this_pages = change_pte_range(vma, pmd, addr, next, newprot, in change_pmd_range()
181 } while (pmd++, addr = next, addr != end); in change_pmd_range()