Lines Matching refs:pud
280 pud_t *pud; in huge_pte_alloc() local
285 pud = pud_alloc(mm, p4d, addr); in huge_pte_alloc()
286 if (!pud) in huge_pte_alloc()
289 return (pte_t *)pud; in huge_pte_alloc()
290 pmd = pmd_alloc(mm, pud, addr); in huge_pte_alloc()
303 pud_t *pud; in huge_pte_offset() local
312 pud = pud_offset(p4d, addr); in huge_pte_offset()
313 if (pud_none(*pud)) in huge_pte_offset()
315 if (is_hugetlb_pud(*pud)) in huge_pte_offset()
316 return (pte_t *)pud; in huge_pte_offset()
317 pmd = pmd_offset(pud, addr); in huge_pte_offset()
404 int pud_huge(pud_t pud) in pud_huge() argument
406 return !pud_none(pud) && in pud_huge()
407 (pud_val(pud) & (_PAGE_VALID|_PAGE_PUD_HUGE)) != _PAGE_VALID; in pud_huge()
420 static void hugetlb_free_pmd_range(struct mmu_gather *tlb, pud_t *pud, in hugetlb_free_pmd_range() argument
429 pmd = pmd_offset(pud, addr); in hugetlb_free_pmd_range()
451 pmd = pmd_offset(pud, start); in hugetlb_free_pmd_range()
452 pud_clear(pud); in hugetlb_free_pmd_range()
461 pud_t *pud; in hugetlb_free_pud_range() local
466 pud = pud_offset(p4d, addr); in hugetlb_free_pud_range()
469 if (pud_none_or_clear_bad(pud)) in hugetlb_free_pud_range()
471 if (is_hugetlb_pud(*pud)) in hugetlb_free_pud_range()
472 pud_clear(pud); in hugetlb_free_pud_range()
474 hugetlb_free_pmd_range(tlb, pud, addr, next, floor, in hugetlb_free_pud_range()
476 } while (pud++, addr = next, addr != end); in hugetlb_free_pud_range()
489 pud = pud_offset(p4d, start); in hugetlb_free_pud_range()
491 pud_free_tlb(tlb, pud, start); in hugetlb_free_pud_range()