Lines Matching defs:mmu_gather

34  * The mmu_gather data structure is used by the mm code to implement the
47 * The mmu_gather API consists of:
51 * start and finish a mmu_gather
100 * - mmu_gather::fullmm
111 * - mmu_gather::need_flush_all
119 * tlb_flush() may, in addition to the above mentioned mmu_gather fields, make
122 * - mmu_gather::start / mmu_gather::end
127 * - mmu_gather::freed_tables
144 * changes the size and provides mmu_gather::page_size to tlb_flush().
188 * If the option is set the mmu_gather will not track individual pages for
210 extern void tlb_remove_table(struct mmu_gather *tlb, void *table);
262 * Limit the maximum number of mmu_gather batches to reduce a risk of soft
269 extern bool __tlb_remove_page_size(struct mmu_gather *tlb, struct page *page,
271 bool __tlb_remove_folio_pages(struct mmu_gather *tlb, struct page *page,
277 * function, except we define it before the 'struct mmu_gather'.
280 extern void tlb_flush_rmaps(struct mmu_gather *tlb, struct vm_area_struct *vma);
294 static inline void tlb_flush_rmaps(struct mmu_gather *tlb, struct vm_area_struct *vma) { }
298 * struct mmu_gather is an opaque type used by the mm code for passing around
301 struct mmu_gather {
360 void tlb_flush_mmu(struct mmu_gather *tlb);
362 static inline void __tlb_adjust_range(struct mmu_gather *tlb,
370 static inline void __tlb_reset_range(struct mmu_gather *tlb)
384 * Do not reset mmu_gather::vma_* fields here, we do not
404 static inline void tlb_flush(struct mmu_gather *tlb)
418 static inline void tlb_flush(struct mmu_gather *tlb)
437 tlb_update_vma_flags(struct mmu_gather *tlb, struct vm_area_struct *vma)
455 static inline void tlb_flush_mmu_tlbonly(struct mmu_gather *tlb)
469 static inline void tlb_remove_page_size(struct mmu_gather *tlb,
476 static __always_inline bool __tlb_remove_page(struct mmu_gather *tlb,
486 static inline void tlb_remove_page(struct mmu_gather *tlb, struct page *page)
491 static inline void tlb_remove_ptdesc(struct mmu_gather *tlb, void *pt)
497 static inline void tlb_remove_page_ptdesc(struct mmu_gather *tlb, struct ptdesc *pt)
502 static inline void tlb_change_page_size(struct mmu_gather *tlb,
515 static inline unsigned long tlb_get_unmap_shift(struct mmu_gather *tlb)
529 static inline unsigned long tlb_get_unmap_size(struct mmu_gather *tlb)
539 static inline void tlb_start_vma(struct mmu_gather *tlb, struct vm_area_struct *vma)
550 static inline void tlb_end_vma(struct mmu_gather *tlb, struct vm_area_struct *vma)
574 static inline void tlb_flush_pte_range(struct mmu_gather *tlb,
581 static inline void tlb_flush_pmd_range(struct mmu_gather *tlb,
588 static inline void tlb_flush_pud_range(struct mmu_gather *tlb,
595 static inline void tlb_flush_p4d_range(struct mmu_gather *tlb,
603 static inline void __tlb_remove_tlb_entry(struct mmu_gather *tlb, pte_t *ptep, unsigned long address)
628 static inline void tlb_remove_tlb_entries(struct mmu_gather *tlb,