Lines Matching refs:mmu_gather
34 * The mmu_gather data structure is used by the mm code to implement the
47 * The mmu_gather API consists of:
49 * - tlb_gather_mmu() / tlb_finish_mmu(); start and finish a mmu_gather
92 * - mmu_gather::fullmm
103 * - mmu_gather::need_flush_all
111 * tlb_flush() may, in addition to the above mentioned mmu_gather fields, make
114 * - mmu_gather::start / mmu_gather::end
119 * - mmu_gather::freed_tables
136 * changes the size and provides mmu_gather::page_size to tlb_flush().
165 * If the option is set the mmu_gather will not track individual pages for
187 extern void tlb_remove_table(struct mmu_gather *tlb, void *table);
239 * Limit the maximum number of mmu_gather batches to reduce a risk of soft
246 extern bool __tlb_remove_page_size(struct mmu_gather *tlb, struct page *page,
251 * struct mmu_gather is an opaque type used by the mm code for passing around
254 struct mmu_gather {
307 void tlb_flush_mmu(struct mmu_gather *tlb);
309 static inline void __tlb_adjust_range(struct mmu_gather *tlb,
317 static inline void __tlb_reset_range(struct mmu_gather *tlb)
331 * Do not reset mmu_gather::vma_* fields here, we do not
351 static inline void tlb_flush(struct mmu_gather *tlb)
358 tlb_update_vma_flags(struct mmu_gather *tlb, struct vm_area_struct *vma) { }
361 static inline void tlb_end_vma(struct mmu_gather *tlb, struct vm_area_struct *vma) { }
376 static inline void tlb_flush(struct mmu_gather *tlb)
392 tlb_update_vma_flags(struct mmu_gather *tlb, struct vm_area_struct *vma)
412 tlb_update_vma_flags(struct mmu_gather *tlb, struct vm_area_struct *vma) { }
418 static inline void tlb_flush_mmu_tlbonly(struct mmu_gather *tlb)
433 static inline void tlb_remove_page_size(struct mmu_gather *tlb,
440 static inline bool __tlb_remove_page(struct mmu_gather *tlb, struct page *page)
449 static inline void tlb_remove_page(struct mmu_gather *tlb, struct page *page)
454 static inline void tlb_change_page_size(struct mmu_gather *tlb,
467 static inline unsigned long tlb_get_unmap_shift(struct mmu_gather *tlb)
481 static inline unsigned long tlb_get_unmap_size(struct mmu_gather *tlb)
492 static inline void tlb_start_vma(struct mmu_gather *tlb, struct vm_area_struct *vma)
503 static inline void tlb_end_vma(struct mmu_gather *tlb, struct vm_area_struct *vma)
511 * but also the mmu_gather::vma_* flags from tlb_start_vma() rely on
522 static inline void tlb_flush_pte_range(struct mmu_gather *tlb,
529 static inline void tlb_flush_pmd_range(struct mmu_gather *tlb,
536 static inline void tlb_flush_pud_range(struct mmu_gather *tlb,
543 static inline void tlb_flush_p4d_range(struct mmu_gather *tlb,