Lines Matching refs:pud
707 pud_t *pud; in follow_pud_mask() local
712 pud = pud_offset(p4dp, address); in follow_pud_mask()
713 if (pud_none(*pud)) in follow_pud_mask()
715 if (pud_huge(*pud) && is_vm_hugetlb_page(vma)) { in follow_pud_mask()
716 page = follow_huge_pud(mm, address, pud, flags); in follow_pud_mask()
721 if (is_hugepd(__hugepd(pud_val(*pud)))) { in follow_pud_mask()
723 __hugepd(pud_val(*pud)), flags, in follow_pud_mask()
729 if (pud_devmap(*pud)) { in follow_pud_mask()
730 ptl = pud_lock(mm, pud); in follow_pud_mask()
731 page = follow_devmap_pud(vma, address, pud, flags, &ctx->pgmap); in follow_pud_mask()
736 if (unlikely(pud_bad(*pud))) in follow_pud_mask()
739 return follow_pmd_mask(vma, address, pud, flags, ctx); in follow_pud_mask()
845 pud_t *pud; in get_gate_page() local
862 pud = pud_offset(p4d, address); in get_gate_page()
863 if (pud_none(*pud)) in get_gate_page()
865 pmd = pmd_offset(pud, address); in get_gate_page()
2311 static int __gup_device_huge_pud(pud_t pud, pud_t *pudp, unsigned long addr, in __gup_device_huge_pud() argument
2501 static int gup_pmd_range(pud_t *pudp, pud_t pud, unsigned long addr, unsigned long end, in gup_pmd_range() argument
2507 pmdp = pmd_offset_lockless(pudp, pud, addr); in gup_pmd_range()
2552 pud_t pud = READ_ONCE(*pudp); in gup_pud_range() local
2555 if (unlikely(!pud_present(pud))) in gup_pud_range()
2557 if (unlikely(pud_huge(pud) || pud_devmap(pud))) { in gup_pud_range()
2558 if (!gup_huge_pud(pud, pudp, addr, next, flags, in gup_pud_range()
2561 } else if (unlikely(is_hugepd(__hugepd(pud_val(pud))))) { in gup_pud_range()
2562 if (!gup_huge_pd(__hugepd(pud_val(pud)), addr, in gup_pud_range()
2565 } else if (!gup_pmd_range(pudp, pud, addr, next, flags, pages, nr)) in gup_pud_range()