Lines Matching defs:pmd
62 * set a new huge pmd. We should not be called for updating
63 * an existing pmd entry. That should go via pmd_hugepage_update.
66 pmd_t *pmdp, pmd_t pmd)
76 WARN_ON(!(pmd_large(pmd)));
78 trace_hugepage_set_pmd(addr, pmd_val(pmd));
79 return set_pte_at(mm, addr, pmdp_ptep(pmdp), pmd_pte(pmd));
90 * pmd_t we want to prevent transit from pmd pointing to page table
91 * to pmd pointing to huge page (and back) while interrupts are disabled.
92 * We clear pmd to possibly replace it with page table pointer in
104 * hugepte to regular pmd entry.
119 pmd_t pmd;
123 pmd = pmdp_huge_get_and_clear(vma->vm_mm, addr, pmdp);
131 return pmd;
134 static pmd_t pmd_set_protbits(pmd_t pmd, pgprot_t pgprot)
136 return __pmd(pmd_val(pmd) | pgprot_val(pgprot));
152 pmd_t pmd_modify(pmd_t pmd, pgprot_t newprot)
156 pmdv = pmd_val(pmd);
332 pmd_t *pmd;
334 pmd = get_pmd_from_cache(mm);
335 if (pmd)
336 return pmd;
341 void pmd_fragment_free(unsigned long *pmd)
343 struct page *page = virt_to_page(pmd);
452 * information and they are stored at PTRS_PER_PMD offset from related pmd
453 * location. Hence a pmd move requires deposit and withdraw.
455 * For radix translation with split pmd ptl, we store the deposited table in the
456 * pmd page. Hence if we have different pmd page we need to withdraw during pmd