Lines Matching refs:tlb

275 static void hugepd_free(struct mmu_gather *tlb, void *hugepte)  in hugepd_free()  argument
281 if (atomic_read(&tlb->mm->mm_users) < 2 || in hugepd_free()
282 mm_is_thread_local(tlb->mm)) { in hugepd_free()
301 static inline void hugepd_free(struct mmu_gather *tlb, void *hugepte) {} in hugepd_free() argument
319 static void free_hugepd_range(struct mmu_gather *tlb, hugepd_t *hpdp, int pdshift, in free_hugepd_range() argument
341 hugepd_free(tlb, hugepte); in free_hugepd_range()
343 pgtable_free_tlb(tlb, hugepte, in free_hugepd_range()
347 static void hugetlb_free_pte_range(struct mmu_gather *tlb, pmd_t *pmd, in hugetlb_free_pte_range() argument
357 pte_free_tlb(tlb, token, addr); in hugetlb_free_pte_range()
358 mm_dec_nr_ptes(tlb->mm); in hugetlb_free_pte_range()
361 static void hugetlb_free_pmd_range(struct mmu_gather *tlb, pud_t *pud, in hugetlb_free_pmd_range() argument
385 hugetlb_free_pte_range(tlb, pmd, addr, end, floor, ceiling); in hugetlb_free_pmd_range()
399 free_hugepd_range(tlb, (hugepd_t *)pmd, PMD_SHIFT, in hugetlb_free_pmd_range()
408 pmd_free_tlb(tlb, pmd, start & PUD_MASK); in hugetlb_free_pmd_range()
409 mm_dec_nr_pmds(tlb->mm); in hugetlb_free_pmd_range()
412 static void hugetlb_free_pud_range(struct mmu_gather *tlb, p4d_t *p4d, in hugetlb_free_pud_range() argument
427 hugetlb_free_pmd_range(tlb, pud, addr, next, floor, in hugetlb_free_pud_range()
441 free_hugepd_range(tlb, (hugepd_t *)pud, PUD_SHIFT, in hugetlb_free_pud_range()
451 pud_free_tlb(tlb, pud, start & PGDIR_MASK); in hugetlb_free_pud_range()
452 mm_dec_nr_puds(tlb->mm); in hugetlb_free_pud_range()
458 void hugetlb_free_pgd_range(struct mmu_gather *tlb, in hugetlb_free_pgd_range() argument
485 pgd = pgd_offset(tlb->mm, addr); in hugetlb_free_pgd_range()
490 hugetlb_free_pud_range(tlb, p4d, addr, next, floor, ceiling); in hugetlb_free_pgd_range()
503 free_hugepd_range(tlb, (hugepd_t *)p4d, PGDIR_SHIFT, in hugetlb_free_pgd_range()