/linux-master/arch/riscv/include/asm/ |
H A D | tlb.h | 11 static void tlb_flush(struct mmu_gather *tlb); 21 * comment below 'ifdef CONFIG_MMU_GATHER_RCU_TABLE_FREE' in include/asm-generic/tlb.h 32 #include <asm-generic/tlb.h> 34 static inline void tlb_flush(struct mmu_gather *tlb) argument 37 if (tlb->fullmm || tlb->need_flush_all || tlb->freed_tables) 38 flush_tlb_mm(tlb->mm); 40 flush_tlb_mm_range(tlb->mm, tlb [all...] |
/linux-master/arch/arm64/include/asm/ |
H A D | tlb.h | 3 * Based on arch/arm/include/asm/tlb.h 20 static void tlb_flush(struct mmu_gather *tlb); 22 #include <asm-generic/tlb.h> 29 static inline int tlb_get_level(struct mmu_gather *tlb) argument 32 if (tlb->freed_tables) 35 if (tlb->cleared_ptes && !(tlb->cleared_pmds || 36 tlb->cleared_puds || 37 tlb->cleared_p4ds)) 40 if (tlb 58 tlb_flush(struct mmu_gather *tlb) argument 80 __pte_free_tlb(struct mmu_gather *tlb, pgtable_t pte, unsigned long addr) argument 90 __pmd_free_tlb(struct mmu_gather *tlb, pmd_t *pmdp, unsigned long addr) argument 101 __pud_free_tlb(struct mmu_gather *tlb, pud_t *pudp, unsigned long addr) argument [all...] |
/linux-master/include/asm-generic/ |
H A D | tlb.h | 2 /* include/asm-generic/tlb.h 210 extern void tlb_remove_table(struct mmu_gather *tlb, void *table); 218 #define tlb_remove_table(tlb, page) tlb_remove_page((tlb), (page)) 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, 279 #define tlb_delay_rmap(tlb) (((tlb)->delayed_rmap = 1), true) 280 extern void tlb_flush_rmaps(struct mmu_gather *tlb, struct vm_area_struct *vma); 293 #define tlb_delay_rmap(tlb) (fals 294 tlb_flush_rmaps(struct mmu_gather *tlb, struct vm_area_struct *vma) argument 362 __tlb_adjust_range(struct mmu_gather *tlb, unsigned long address, unsigned int range_size) argument 370 __tlb_reset_range(struct mmu_gather *tlb) argument 404 tlb_flush(struct mmu_gather *tlb) argument 418 tlb_flush(struct mmu_gather *tlb) argument 437 tlb_update_vma_flags(struct mmu_gather *tlb, struct vm_area_struct *vma) argument 455 tlb_flush_mmu_tlbonly(struct mmu_gather *tlb) argument 469 tlb_remove_page_size(struct mmu_gather *tlb, struct page *page, int page_size) argument 476 __tlb_remove_page(struct mmu_gather *tlb, struct page *page, bool delay_rmap) argument 486 tlb_remove_page(struct mmu_gather *tlb, struct page *page) argument 491 tlb_remove_ptdesc(struct mmu_gather *tlb, void *pt) argument 497 tlb_remove_page_ptdesc(struct mmu_gather *tlb, struct ptdesc *pt) argument 502 tlb_change_page_size(struct mmu_gather *tlb, unsigned int page_size) argument 515 tlb_get_unmap_shift(struct mmu_gather *tlb) argument 529 tlb_get_unmap_size(struct mmu_gather *tlb) argument 539 tlb_start_vma(struct mmu_gather *tlb, struct vm_area_struct *vma) argument 550 tlb_end_vma(struct mmu_gather *tlb, struct vm_area_struct *vma) argument 574 tlb_flush_pte_range(struct mmu_gather *tlb, unsigned long address, unsigned long size) argument 581 tlb_flush_pmd_range(struct mmu_gather *tlb, unsigned long address, unsigned long size) argument 588 tlb_flush_pud_range(struct mmu_gather *tlb, unsigned long address, unsigned long size) argument 595 tlb_flush_p4d_range(struct mmu_gather *tlb, unsigned long address, unsigned long size) argument 603 __tlb_remove_tlb_entry(struct mmu_gather *tlb, pte_t *ptep, unsigned long address) argument 628 tlb_remove_tlb_entries(struct mmu_gather *tlb, pte_t *ptep, unsigned int nr, unsigned long address) argument [all...] |
/linux-master/arch/sparc/include/asm/ |
H A D | tlb_32.h | 5 #include <asm-generic/tlb.h>
|
H A D | tlb_64.h | 25 #define tlb_flush(tlb) flush_tlb_pending() 36 #include <asm-generic/tlb.h>
|
/linux-master/arch/m68k/include/asm/ |
H A D | tlb.h | 5 #include <asm-generic/tlb.h>
|
/linux-master/arch/x86/include/asm/ |
H A D | tlb.h | 6 static inline void tlb_flush(struct mmu_gather *tlb); 8 #include <asm-generic/tlb.h> 10 static inline void tlb_flush(struct mmu_gather *tlb) argument 13 unsigned int stride_shift = tlb_get_unmap_shift(tlb); 15 if (!tlb->fullmm && !tlb->need_flush_all) { 16 start = tlb->start; 17 end = tlb->end; 20 flush_tlb_mm_range(tlb->mm, start, end, stride_shift, tlb [all...] |
/linux-master/arch/alpha/include/asm/ |
H A D | tlb.h | 5 #include <asm-generic/tlb.h> 7 #define __pte_free_tlb(tlb, pte, address) pte_free((tlb)->mm, pte) 8 #define __pmd_free_tlb(tlb, pmd, address) pmd_free((tlb)->mm, pmd)
|
/linux-master/arch/parisc/include/asm/ |
H A D | tlb.h | 5 #include <asm-generic/tlb.h> 8 #define __pmd_free_tlb(tlb, pmd, addr) pmd_free((tlb)->mm, pmd) 10 #define __pte_free_tlb(tlb, pte, addr) pte_free((tlb)->mm, pte)
|
/linux-master/arch/s390/include/asm/ |
H A D | tlb.h | 26 static inline void tlb_flush(struct mmu_gather *tlb); 27 static inline bool __tlb_remove_page_size(struct mmu_gather *tlb, 29 static inline bool __tlb_remove_folio_pages(struct mmu_gather *tlb, 39 #include <asm-generic/tlb.h> 43 * tlb_ptep_clear_flush. In both flush modes the tlb for a page cache page 48 static inline bool __tlb_remove_page_size(struct mmu_gather *tlb, argument 57 static inline bool __tlb_remove_folio_pages(struct mmu_gather *tlb, argument 72 static inline void tlb_flush(struct mmu_gather *tlb) argument 74 __tlb_flush_mm_lazy(tlb->mm); 79 * page table from the tlb 81 pte_free_tlb(struct mmu_gather *tlb, pgtable_t pte, unsigned long address) argument 100 pmd_free_tlb(struct mmu_gather *tlb, pmd_t *pmd, unsigned long address) argument 120 p4d_free_tlb(struct mmu_gather *tlb, p4d_t *p4d, unsigned long address) argument 138 pud_free_tlb(struct mmu_gather *tlb, pud_t *pud, unsigned long address) argument [all...] |
/linux-master/arch/xtensa/include/asm/ |
H A D | tlb.h | 2 * include/asm-xtensa/tlb.h 17 #include <asm-generic/tlb.h> 19 #define __pte_free_tlb(tlb, pte, address) pte_free((tlb)->mm, pte)
|
/linux-master/arch/openrisc/include/asm/ |
H A D | tlb.h | 24 #include <asm-generic/tlb.h>
|
/linux-master/arch/arc/include/asm/ |
H A D | tlb.h | 10 #include <asm-generic/tlb.h>
|
/linux-master/arch/csky/include/asm/ |
H A D | tlb.h | 7 #include <asm-generic/tlb.h>
|
/linux-master/mm/ |
H A D | mmu_gather.c | 14 #include <asm/tlb.h> 18 static bool tlb_next_batch(struct mmu_gather *tlb) argument 23 if (tlb->delayed_rmap && tlb->active != &tlb->local) 26 batch = tlb->active; 28 tlb->active = batch->next; 32 if (tlb->batch_count == MAX_GATHER_BATCH_COUNT) 39 tlb->batch_count++; 44 tlb 82 tlb_flush_rmaps(struct mmu_gather *tlb, struct vm_area_struct *vma) argument 144 tlb_batch_pages_flush(struct mmu_gather *tlb) argument 153 tlb_batch_list_free(struct mmu_gather *tlb) argument 164 __tlb_remove_folio_pages_size(struct mmu_gather *tlb, struct page *page, unsigned int nr_pages, bool delay_rmap, int page_size) argument 205 __tlb_remove_folio_pages(struct mmu_gather *tlb, struct page *page, unsigned int nr_pages, bool delay_rmap) argument 212 __tlb_remove_page_size(struct mmu_gather *tlb, struct page *page, bool delay_rmap, int page_size) argument 302 tlb_table_invalidate(struct mmu_gather *tlb) argument 320 tlb_table_flush(struct mmu_gather *tlb) argument 331 tlb_remove_table(struct mmu_gather *tlb, void *table) argument 350 tlb_table_init(struct mmu_gather *tlb) argument 357 tlb_table_flush(struct mmu_gather *tlb) argument 358 tlb_table_init(struct mmu_gather *tlb) argument 362 tlb_flush_mmu_free(struct mmu_gather *tlb) argument 370 tlb_flush_mmu(struct mmu_gather *tlb) argument 376 __tlb_gather_mmu(struct mmu_gather *tlb, struct mm_struct *mm, bool fullmm) argument 409 tlb_gather_mmu(struct mmu_gather *tlb, struct mm_struct *mm) argument 425 tlb_gather_mmu_fullmm(struct mmu_gather *tlb, struct mm_struct *mm) argument 437 tlb_finish_mmu(struct mmu_gather *tlb) argument [all...] |
/linux-master/arch/arm/include/asm/ |
H A D | tlb.h | 3 * arch/arm/include/asm/tlb.h 8 * to use the "invalidate whole tlb" rather than "invalidate single 9 * tlb" for this. 23 #define tlb_flush(tlb) ((void) tlb) 25 #include <asm-generic/tlb.h> 37 #include <asm-generic/tlb.h> 40 __pte_free_tlb(struct mmu_gather *tlb, pgtable_t pte, unsigned long addr) argument 52 __tlb_adjust_range(tlb, addr - PAGE_SIZE, 2 * PAGE_SIZE); 55 tlb_remove_ptdesc(tlb, ptdes 59 __pmd_free_tlb(struct mmu_gather *tlb, pmd_t *pmdp, unsigned long addr) argument [all...] |
/linux-master/arch/nios2/include/asm/ |
H A D | tlb.h | 22 #include <asm-generic/tlb.h>
|
/linux-master/arch/hexagon/include/asm/ |
H A D | tlb.h | 12 #include <asm-generic/tlb.h>
|
/linux-master/arch/openrisc/mm/ |
H A D | Makefile | 6 obj-y := fault.o cache.o tlb.o init.o ioremap.o
|
/linux-master/arch/um/include/asm/ |
H A D | tlb.h | 9 #include <asm-generic/tlb.h>
|
H A D | pgalloc.h | 28 #define __pte_free_tlb(tlb, pte, address) \ 31 tlb_remove_page_ptdesc((tlb), (page_ptdesc(pte))); \ 36 #define __pmd_free_tlb(tlb, pmd, address) \ 39 tlb_remove_page_ptdesc((tlb), virt_to_ptdesc(pmd)); \
|
/linux-master/arch/powerpc/include/asm/nohash/ |
H A D | pgalloc.h | 8 extern void tlb_remove_table(struct mmu_gather *tlb, void *table); 10 extern void tlb_flush_pgtable(struct mmu_gather *tlb, unsigned long address); 13 static inline void tlb_flush_pgtable(struct mmu_gather *tlb, argument 49 static inline void pgtable_free_tlb(struct mmu_gather *tlb, void *table, int shift) argument 55 tlb_remove_table(tlb, (void *)pgf); 66 static inline void __pte_free_tlb(struct mmu_gather *tlb, pgtable_t table, argument 69 tlb_flush_pgtable(tlb, address); 70 pgtable_free_tlb(tlb, table, 0);
|
/linux-master/arch/sh/mm/ |
H A D | Makefile | 30 debugfs-$(CONFIG_CPU_SH4) += tlb-debugfs.o 31 tlb-$(CONFIG_CPU_SH3) := tlb-sh3.o 32 tlb-$(CONFIG_CPU_SH4) := tlb-sh4.o tlb-urb.o 33 tlb-$(CONFIG_CPU_HAS_PTEAEX) := tlb-pteaex.o tlb-urb.o 34 obj-y += $(tlb [all...] |
/linux-master/arch/powerpc/include/asm/book3s/ |
H A D | pgalloc.h | 7 extern void tlb_remove_table(struct mmu_gather *tlb, void *table);
|
/linux-master/arch/sh/include/asm/ |
H A D | pgalloc.h | 20 #define __pmd_free_tlb(tlb, pmdp, addr) pmd_free((tlb)->mm, (pmdp)) 35 #define __pte_free_tlb(tlb, pte, addr) \ 38 tlb_remove_page_ptdesc((tlb), (page_ptdesc(pte))); \
|