Lines Matching refs:tlb
23 #include <asm/tlb.h>
268 static void hugepd_free(struct mmu_gather *tlb, void *hugepte)
274 if (atomic_read(&tlb->mm->mm_users) < 2 ||
275 mm_is_thread_local(tlb->mm)) {
294 static inline void hugepd_free(struct mmu_gather *tlb, void *hugepte) {}
297 static void free_hugepd_range(struct mmu_gather *tlb, hugepd_t *hpdp, int pdshift,
327 hugepd_free(tlb, hugepte);
329 pgtable_free_tlb(tlb, hugepte,
333 static void hugetlb_free_pte_range(struct mmu_gather *tlb, pmd_t *pmd,
352 pte_free_tlb(tlb, token, addr);
353 mm_dec_nr_ptes(tlb->mm);
356 static void hugetlb_free_pmd_range(struct mmu_gather *tlb, pud_t *pud,
380 hugetlb_free_pte_range(tlb, pmd, addr, end, floor, ceiling);
394 free_hugepd_range(tlb, (hugepd_t *)pmd, PMD_SHIFT,
411 pmd_free_tlb(tlb, pmd, start);
412 mm_dec_nr_pmds(tlb->mm);
415 static void hugetlb_free_pud_range(struct mmu_gather *tlb, p4d_t *p4d,
430 hugetlb_free_pmd_range(tlb, pud, addr, next, floor,
444 free_hugepd_range(tlb, (hugepd_t *)pud, PUD_SHIFT,
462 pud_free_tlb(tlb, pud, start);
463 mm_dec_nr_puds(tlb->mm);
469 void hugetlb_free_pgd_range(struct mmu_gather *tlb,
496 pgd = pgd_offset(tlb->mm, addr);
501 hugetlb_free_pud_range(tlb, p4d, addr, next, floor, ceiling);
514 free_hugepd_range(tlb, (hugepd_t *)p4d, PGDIR_SHIFT,