Lines Matching defs:pmdp
126 * @pmdp: pointer to pmd entry
132 * Collect the huge pmd entry at @pmdp for migration and set the
136 static int migrate_vma_collect_huge_pmd(pmd_t *pmdp, unsigned long start,
147 ptl = pmd_lock(mm, pmdp);
148 if (pmd_none(*pmdp)) {
153 if (pmd_trans_huge(*pmdp)) {
159 folio = pmd_folio(*pmdp);
164 if (pmd_write(*pmdp))
166 } else if (!pmd_present(*pmdp)) {
167 const softleaf_t entry = softleaf_from_pmd(*pmdp);
200 .pmd = pmdp,
234 if (pmd_none(pmdp_get_lockless(pmdp)))
241 static int migrate_vma_collect_pmd(pmd_t *pmdp,
256 if (pmd_trans_huge(*pmdp) || !pmd_present(*pmdp)) {
257 int ret = migrate_vma_collect_huge_pmd(pmdp, start, end, walk, fault_folio);
265 ptep = pte_offset_map_lock(mm, pmdp, start, &ptl);
785 * @pmdp: pointer to the pmd
791 pmd_t *pmdp)
849 ptl = pmd_lock(vma->vm_mm, pmdp);
861 if (is_huge_zero_pmd(*pmdp))
863 else if (!pmd_none(*pmdp))
875 pmdp_invalidate(vma, addr, pmdp);
877 pgtable_trans_huge_deposit(vma->vm_mm, pmdp, pgtable);
880 set_pmd_at(vma->vm_mm, addr, pmdp, entry);
881 update_mmu_cache_pmd(vma, addr, pmdp);
931 pmd_t *pmdp)
980 pmd_t *pmdp;
995 pmdp = pmd_alloc(mm, pudp, addr);
996 if (!pmdp)
1001 src, pmdp);
1007 if (!pmd_none(*pmdp)) {
1008 if (pmd_trans_huge(*pmdp)) {
1009 if (!is_huge_zero_pmd(*pmdp))
1011 split_huge_pmd(vma, pmdp, addr);
1012 } else if (pmd_leaf(*pmdp))
1016 if (pte_alloc(mm, pmdp))
1051 ptep = pte_offset_map_lock(mm, pmdp, addr, &ptl);