Lines Matching refs:mp
46 struct mmu_gather *mp = &get_cpu_var(mmu_gathers);
48 BUG_ON(mp->tlb_nr);
50 mp->mm = mm;
51 mp->pages_nr = num_online_cpus() > 1 ? 0U : ~0U;
52 mp->fullmm = full_mm_flush;
54 return mp;
58 static inline void tlb_flush_mmu(struct mmu_gather *mp)
60 if (!mp->fullmm)
62 if (mp->need_flush) {
63 free_pages_and_swap_cache(mp->pages, mp->pages_nr);
64 mp->pages_nr = 0;
65 mp->need_flush = 0;
77 static inline void tlb_finish_mmu(struct mmu_gather *mp, unsigned long start, unsigned long end)
79 tlb_flush_mmu(mp);
81 if (mp->fullmm)
82 mp->fullmm = 0;
90 static inline void tlb_remove_page(struct mmu_gather *mp, struct page *page)
92 if (tlb_fast_mode(mp)) {
96 mp->need_flush = 1;
97 mp->pages[mp->pages_nr++] = page;
98 if (mp->pages_nr >= FREE_PTE_NR)
99 tlb_flush_mmu(mp);
102 #define tlb_remove_tlb_entry(mp,ptep,addr) do { } while (0)
103 #define pte_free_tlb(mp, ptepage, addr) pte_free((mp)->mm, ptepage)
104 #define pmd_free_tlb(mp, pmdp, addr) pmd_free((mp)->mm, pmdp)