Lines Matching refs:pud
4608 pte_t *huge_pmd_share(struct mm_struct *mm, unsigned long addr, pud_t *pud) in huge_pmd_share() argument
4621 return (pte_t *)pmd_alloc(mm, pud, addr); in huge_pmd_share()
4643 if (pud_none(*pud)) { in huge_pmd_share()
4644 pud_populate(mm, pud, in huge_pmd_share()
4652 pte = (pte_t *)pmd_alloc(mm, pud, addr); in huge_pmd_share()
4673 pud_t *pud = pud_offset(p4d, *addr); in huge_pmd_unshare() local
4679 pud_clear(pud); in huge_pmd_unshare()
4687 pte_t *huge_pmd_share(struct mm_struct *mm, unsigned long addr, pud_t *pud) in huge_pmd_share() argument
4710 pud_t *pud; in huge_pte_alloc() local
4717 pud = pud_alloc(mm, p4d, addr); in huge_pte_alloc()
4718 if (pud) { in huge_pte_alloc()
4720 pte = (pte_t *)pud; in huge_pte_alloc()
4723 if (want_pmd_share() && pud_none(*pud)) in huge_pte_alloc()
4724 pte = huge_pmd_share(mm, addr, pud); in huge_pte_alloc()
4726 pte = (pte_t *)pmd_alloc(mm, pud, addr); in huge_pte_alloc()
4748 pud_t *pud; in huge_pte_offset() local
4758 pud = pud_offset(p4d, addr); in huge_pte_offset()
4759 if (sz != PUD_SIZE && pud_none(*pud)) in huge_pte_offset()
4762 if (pud_huge(*pud) || !pud_present(*pud)) in huge_pte_offset()
4763 return (pte_t *)pud; in huge_pte_offset()
4765 pmd = pmd_offset(pud, addr); in huge_pte_offset()
4835 pud_t *pud, int flags) in follow_huge_pud() argument
4840 return pte_page(*(pte_t *)pud) + ((address & ~PUD_MASK) >> PAGE_SHIFT); in follow_huge_pud()