Lines Matching refs:pmdp
110 unsigned long address, pmd_t *pmdp,
113 int changed = !pmd_same(*pmdp, entry);
116 set_pmd_at(vma->vm_mm, address, pmdp, entry);
125 unsigned long address, pmd_t *pmdp)
129 young = pmdp_test_and_clear_young(vma, address, pmdp);
138 pmd_t *pmdp)
142 VM_BUG_ON(pmd_present(*pmdp) && !pmd_trans_huge(*pmdp) &&
143 !pmd_devmap(*pmdp));
144 pmd = pmdp_huge_get_and_clear(vma->vm_mm, address, pmdp);
165 void pgtable_trans_huge_deposit(struct mm_struct *mm, pmd_t *pmdp,
168 assert_spin_locked(pmd_lockptr(mm, pmdp));
171 if (!pmd_huge_pte(mm, pmdp))
174 list_add(&pgtable->lru, &pmd_huge_pte(mm, pmdp)->lru);
175 pmd_huge_pte(mm, pmdp) = pgtable;
181 pgtable_t pgtable_trans_huge_withdraw(struct mm_struct *mm, pmd_t *pmdp)
185 assert_spin_locked(pmd_lockptr(mm, pmdp));
188 pgtable = pmd_huge_pte(mm, pmdp);
189 pmd_huge_pte(mm, pmdp) = list_first_entry_or_null(&pgtable->lru,
191 if (pmd_huge_pte(mm, pmdp))
199 pmd_t *pmdp)
201 pmd_t old = pmdp_establish(vma, address, pmdp, pmd_mkinvalid(*pmdp));
209 pmd_t *pmdp)
211 return pmdp_invalidate(vma, address, pmdp);
217 pmd_t *pmdp)
226 VM_BUG_ON(pmd_trans_huge(*pmdp));
227 pmd = pmdp_huge_get_and_clear(vma->vm_mm, address, pmdp);