Home
last modified time | relevance | path

Searched full:tlb (Results 1 – 25 of 1173) sorted by relevance

12345678910>>...47

/Linux-v6.1/include/asm-generic/
Dtlb.h2 /* include/asm-generic/tlb.h
4 * Generic TLB shootdown code
35 * correct and efficient ordering of freeing pages and TLB invalidations.
40 * 2) TLB invalidate page
53 * Finish in particular will issue a (final) TLB invalidate and free
88 * tlb_flush_mmu_tlbonly() - does the TLB invalidate (and resets
91 * tlb_flush_mmu() - in addition to the above TLB invalidate, also frees
108 * flush the entire TLB irrespective of the range. For instance
127 * returns the smallest TLB entry size unmapped in this range.
140 * This might be useful if your architecture has size specific TLB
[all …]
/Linux-v6.1/mm/
Dmmu_gather.c14 #include <asm/tlb.h>
18 static bool tlb_next_batch(struct mmu_gather *tlb) in tlb_next_batch() argument
22 batch = tlb->active; in tlb_next_batch()
24 tlb->active = batch->next; in tlb_next_batch()
28 if (tlb->batch_count == MAX_GATHER_BATCH_COUNT) in tlb_next_batch()
35 tlb->batch_count++; in tlb_next_batch()
40 tlb->active->next = batch; in tlb_next_batch()
41 tlb->active = batch; in tlb_next_batch()
46 static void tlb_batch_pages_flush(struct mmu_gather *tlb) in tlb_batch_pages_flush() argument
50 for (batch = &tlb->local; batch && batch->nr; batch = batch->next) { in tlb_batch_pages_flush()
[all …]
/Linux-v6.1/arch/arm64/include/asm/
Dtlb.h3 * 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) in tlb_get_level() argument
32 if (tlb->freed_tables) in tlb_get_level()
35 if (tlb->cleared_ptes && !(tlb->cleared_pmds || in tlb_get_level()
36 tlb->cleared_puds || in tlb_get_level()
37 tlb->cleared_p4ds)) in tlb_get_level()
40 if (tlb->cleared_pmds && !(tlb->cleared_ptes || in tlb_get_level()
41 tlb->cleared_puds || in tlb_get_level()
[all …]
/Linux-v6.1/arch/s390/include/asm/
Dtlb.h6 * TLB flushing on s390 is complicated. The following requirement
14 * AND PURGE instruction that purges the TLB."
26 static inline void tlb_flush(struct mmu_gather *tlb);
27 static inline bool __tlb_remove_page_size(struct mmu_gather *tlb,
37 #include <asm-generic/tlb.h>
41 * tlb_ptep_clear_flush. In both flush modes the tlb for a page cache page
44 static inline bool __tlb_remove_page_size(struct mmu_gather *tlb, in __tlb_remove_page_size() argument
51 static inline void tlb_flush(struct mmu_gather *tlb) in tlb_flush() argument
53 __tlb_flush_mm_lazy(tlb->mm); in tlb_flush()
58 * page table from the tlb.
[all …]
/Linux-v6.1/arch/loongarch/include/asm/
Dtlb.h13 * TLB Invalidate Flush
26 * TLB R/W operations.
49 /* Invalid all tlb */
51 /* Invalid current tlb */
53 /* Invalid all global=1 lines in current tlb */
55 /* Invalid all global=0 lines in current tlb */
57 /* Invalid global=0 and matched asid lines in current tlb */
59 /* Invalid addr with global=0 and matched asid in current tlb */
61 /* Invalid addr with global=1 or matched asid in current tlb */
63 /* Invalid matched gid in guest tlb */
[all …]
/Linux-v6.1/tools/perf/pmu-events/arch/powerpc/power8/
Dtranslation.json5 "BriefDescription": "Data ERAT Miss (Data TLB Access) page size 16G",
11 "BriefDescription": "Data ERAT Miss (Data TLB Access) page size 16M",
17 "BriefDescription": "Data ERAT Miss (Data TLB Access) page size 4K",
23 "BriefDescription": "Data ERAT Miss (Data TLB Access) page size 64K",
29 …"BriefDescription": "A Page Table Entry was loaded into the TLB with Modified (M) data from anothe…
35 …"BriefDescription": "A Page Table Entry was loaded into the TLB with Shared (S) data from another …
41 …"BriefDescription": "A Page Table Entry was loaded into the TLB from local core's L2 due to a data…
47 …"BriefDescription": "A Page Table Entry was loaded into the TLB from a location other than the loc…
53 …"BriefDescription": "A Page Table Entry was loaded into the TLB from local core's L2 hit without d…
59 …"BriefDescription": "A Page Table Entry was loaded into the TLB from local core's L2 without confl…
[all …]
/Linux-v6.1/arch/mips/kvm/
Dtlb.c6 * KVM/MIPS TLB handling, this file is part of the Linux host kernel so that
7 * TLB handlers run from KSEG0
26 #include <asm/tlb.h>
92 * Sets the root GuestID to match the current guest GuestID, for TLB operation
93 * on the GPA->RPA mappings in the root TLB.
96 * possibly longer if TLB registers are modified.
121 /* Set root GuestID for root probe and write of guest TLB entry */ in kvm_vz_host_tlb_inv()
137 * We don't want to get reserved instruction exceptions for missing tlb in kvm_vz_host_tlb_inv()
153 * kvm_vz_guest_tlb_lookup() - Lookup a guest VZ TLB mapping.
155 * @gpa: Guest virtual address in a TLB mapped guest segment.
[all …]
/Linux-v6.1/arch/x86/include/asm/
Dtlb.h6 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) in tlb_flush() argument
13 unsigned int stride_shift = tlb_get_unmap_shift(tlb); in tlb_flush()
15 if (!tlb->fullmm && !tlb->need_flush_all) { in tlb_flush()
16 start = tlb->start; in tlb_flush()
17 end = tlb->end; in tlb_flush()
20 flush_tlb_mm_range(tlb->mm, start, end, stride_shift, tlb->freed_tables); in tlb_flush()
24 * While x86 architecture in general requires an IPI to perform TLB
29 * below 'ifdef CONFIG_MMU_GATHER_RCU_TABLE_FREE' in include/asm-generic/tlb.h
/Linux-v6.1/arch/arm/include/asm/
Dtlb.h3 * 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) argument
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) in __pte_free_tlb() argument
50 __tlb_adjust_range(tlb, addr - PAGE_SIZE, 2 * PAGE_SIZE); in __pte_free_tlb()
53 tlb_remove_table(tlb, pte); in __pte_free_tlb()
57 __pmd_free_tlb(struct mmu_gather *tlb, pmd_t *pmdp, unsigned long addr) in __pmd_free_tlb() argument
[all …]
/Linux-v6.1/tools/perf/pmu-events/arch/arm64/arm/cortex-a75/
Dcache.json129 "PublicDescription": "Level 1 PLD TLB refill",
132 "BriefDescription": "Level 1 PLD TLB refill"
135 …"PublicDescription": "Level 2 preload and MMU prefetcher TLB access. This event only counts softwa…
138 …"BriefDescription": "Level 2 preload and MMU prefetcher TLB access. This event only counts softwar…
141 "PublicDescription": "Level 1 TLB flush",
144 "BriefDescription": "Level 1 TLB flush"
147 "PublicDescription": "Level 2 TLB access",
150 "BriefDescription": "Level 2 TLB access"
153 …eload TLB access. This event only counts software and hardware prefetches at Level 1. This event c…
156 …eload TLB access. This event only counts software and hardware prefetches at Level 1. This event c…
[all …]
/Linux-v6.1/tools/perf/pmu-events/arch/x86/skylakex/
Dvirtual-memory.json8 … a page walk of any page size (4K/2M/4M/1G). This implies it missed in all TLB levels, but the wal…
18 …blicDescription": "Counts loads that miss the DTLB (Data TLB) and hit the STLB (Second level TLB).…
34 …"BriefDescription": "Load miss in all TLB levels causes a page walk that completes. (All page size…
39 …emand data loads. This implies it missed in the DTLB and further levels of TLB. The page walk can …
49 …This implies address translations missed in the DTLB and further levels of TLB. The page walk can …
59 …This implies address translations missed in the DTLB and further levels of TLB. The page walk can …
69 …This implies address translations missed in the DTLB and further levels of TLB. The page walk can …
89 … a page walk of any page size (4K/2M/4M/1G). This implies it missed in all TLB levels, but the wal…
99 … "PublicDescription": "Stores that miss the DTLB (Data TLB) and hit the STLB (2nd Level TLB).",
115 …"BriefDescription": "Store misses in all TLB levels causes a page walk that completes. (All page s…
[all …]
/Linux-v6.1/tools/perf/pmu-events/arch/x86/skylake/
Dvirtual-memory.json8 … a page walk of any page size (4K/2M/4M/1G). This implies it missed in all TLB levels, but the wal…
18 …blicDescription": "Counts loads that miss the DTLB (Data TLB) and hit the STLB (Second level TLB).…
34 …"BriefDescription": "Load miss in all TLB levels causes a page walk that completes. (All page size…
39 …emand data loads. This implies it missed in the DTLB and further levels of TLB. The page walk can …
49 …This implies address translations missed in the DTLB and further levels of TLB. The page walk can …
59 …This implies address translations missed in the DTLB and further levels of TLB. The page walk can …
69 …This implies address translations missed in the DTLB and further levels of TLB. The page walk can …
89 … a page walk of any page size (4K/2M/4M/1G). This implies it missed in all TLB levels, but the wal…
99 … "PublicDescription": "Stores that miss the DTLB (Data TLB) and hit the STLB (2nd Level TLB).",
115 …"BriefDescription": "Store misses in all TLB levels causes a page walk that completes. (All page s…
[all …]
/Linux-v6.1/tools/perf/pmu-events/arch/x86/cascadelakex/
Dvirtual-memory.json8 … a page walk of any page size (4K/2M/4M/1G). This implies it missed in all TLB levels, but the wal…
18 …blicDescription": "Counts loads that miss the DTLB (Data TLB) and hit the STLB (Second level TLB).…
34 …"BriefDescription": "Load miss in all TLB levels causes a page walk that completes. (All page size…
39 …emand data loads. This implies it missed in the DTLB and further levels of TLB. The page walk can …
49 …This implies address translations missed in the DTLB and further levels of TLB. The page walk can …
59 …This implies address translations missed in the DTLB and further levels of TLB. The page walk can …
69 …This implies address translations missed in the DTLB and further levels of TLB. The page walk can …
89 … a page walk of any page size (4K/2M/4M/1G). This implies it missed in all TLB levels, but the wal…
99 … "PublicDescription": "Stores that miss the DTLB (Data TLB) and hit the STLB (2nd Level TLB).",
115 …"BriefDescription": "Store misses in all TLB levels causes a page walk that completes. (All page s…
[all …]
/Linux-v6.1/Documentation/x86/
Dtlb.rst4 The TLB
10 1. Flush the entire TLB with a two-instruction sequence. This is
11 a quick operation, but it causes collateral damage: TLB entries
17 damage to other TLB entries.
23 entire TLB than doing 2^48/PAGE_SIZE individual flushes.
24 2. The contents of the TLB. If the TLB is empty, then there will
28 3. The size of the TLB. The larger the TLB, the more collateral
29 damage we do with a full flush. So, the larger the TLB, the
32 4. The microarchitecture. The TLB has become a multi-level
37 especially the contents of the TLB during a given flush. The
[all …]
/Linux-v6.1/tools/perf/pmu-events/arch/x86/sapphirerapids/
Dvirtual-memory.json9 …blicDescription": "Counts loads that miss the DTLB (Data TLB) and hit the STLB (Second level TLB).…
28 …"BriefDescription": "Load miss in all TLB levels causes a page walk that completes. (All page size…
34 …emand data loads. This implies it missed in the DTLB and further levels of TLB. The page walk can …
46 …This implies address translations missed in the DTLB and further levels of TLB. The page walk can …
58 …This implies address translations missed in the DTLB and further levels of TLB. The page walk can …
70 …This implies address translations missed in the DTLB and further levels of TLB. The page walk can …
94 …ublicDescription": "Counts stores that miss the DTLB (Data TLB) and hit the STLB (2nd Level TLB).",
113 …"BriefDescription": "Store misses in all TLB levels causes a page walk that completes. (All page s…
119 …mand data stores. This implies it missed in the DTLB and further levels of TLB. The page walk can …
131 …This implies address translations missed in the DTLB and further levels of TLB. The page walk can …
[all …]
/Linux-v6.1/tools/perf/pmu-events/arch/x86/icelakex/
Dvirtual-memory.json9 …blicDescription": "Counts loads that miss the DTLB (Data TLB) and hit the STLB (Second level TLB).…
28 …"BriefDescription": "Load miss in all TLB levels causes a page walk that completes. (All page size…
34 …emand data loads. This implies it missed in the DTLB and further levels of TLB. The page walk can …
46 …This implies address translations missed in the DTLB and further levels of TLB. The page walk can …
58 …This implies address translations missed in the DTLB and further levels of TLB. The page walk can …
70 …This implies address translations missed in the DTLB and further levels of TLB. The page walk can …
94 …ublicDescription": "Counts stores that miss the DTLB (Data TLB) and hit the STLB (2nd Level TLB).",
113 …"BriefDescription": "Store misses in all TLB levels causes a page walk that completes. (All page s…
119 …mand data stores. This implies it missed in the DTLB and further levels of TLB. The page walk can …
131 …This implies address translations missed in the DTLB and further levels of TLB. The page walk can …
[all …]
/Linux-v6.1/Documentation/devicetree/bindings/nios2/
Dnios2.txt23 - altr,tlb-num-ways: Specifies the number of set-associativity ways in the TLB.
24 - altr,tlb-num-entries: Specifies the number of entries in the TLB.
25 - altr,tlb-ptr-sz: Specifies size of TLB pointer.
30 - altr,fast-tlb-miss-addr: Specifies CPU fast TLB miss exception address
52 altr,tlb-num-ways = <16>;
53 altr,tlb-num-entries = <128>;
54 altr,tlb-ptr-sz = <7>;
58 altr,fast-tlb-miss-addr = <0xc7fff400>;
/Linux-v6.1/tools/perf/pmu-events/arch/x86/icelake/
Dvirtual-memory.json9 …blicDescription": "Counts loads that miss the DTLB (Data TLB) and hit the STLB (Second level TLB).…
28 …"BriefDescription": "Load miss in all TLB levels causes a page walk that completes. (All page size…
34 …emand data loads. This implies it missed in the DTLB and further levels of TLB. The page walk can …
46 …This implies address translations missed in the DTLB and further levels of TLB. The page walk can …
58 …This implies address translations missed in the DTLB and further levels of TLB. The page walk can …
82 …ublicDescription": "Counts stores that miss the DTLB (Data TLB) and hit the STLB (2nd Level TLB).",
101 …"BriefDescription": "Store misses in all TLB levels causes a page walk that completes. (All page s…
107 …mand data stores. This implies it missed in the DTLB and further levels of TLB. The page walk can …
119 …This implies address translations missed in the DTLB and further levels of TLB. The page walk can …
131 …This implies address translations missed in the DTLB and further levels of TLB. The page walk can …
[all …]
/Linux-v6.1/tools/perf/pmu-events/arch/x86/tigerlake/
Dvirtual-memory.json9 …blicDescription": "Counts loads that miss the DTLB (Data TLB) and hit the STLB (Second level TLB).…
26 …"BriefDescription": "Load miss in all TLB levels causes a page walk that completes. (All page size…
32 …emand data loads. This implies it missed in the DTLB and further levels of TLB. The page walk can …
43 …This implies address translations missed in the DTLB and further levels of TLB. The page walk can …
54 …This implies address translations missed in the DTLB and further levels of TLB. The page walk can …
76 …ublicDescription": "Counts stores that miss the DTLB (Data TLB) and hit the STLB (2nd Level TLB).",
93 …"BriefDescription": "Store misses in all TLB levels causes a page walk that completes. (All page s…
99 …mand data stores. This implies it missed in the DTLB and further levels of TLB. The page walk can …
110 …mpleted due to demand data stores whose address translations missed in the TLB and were mapped to …
121 …mpleted due to demand data stores whose address translations missed in the TLB and were mapped to …
[all …]
/Linux-v6.1/arch/sh/mm/
Dtlb-urb.c2 * arch/sh/mm/tlb-urb.c
4 * TLB entry wiring helpers for URB-equipped parts.
14 #include <asm/tlb.h>
18 * Load the entry for 'addr' into the TLB and wire the entry.
32 * Make sure we're not trying to wire the last TLB entry slot. in tlb_wire_entry()
39 * Insert this entry into the highest non-wired TLB slot (via in tlb_wire_entry()
46 /* Load the entry into the TLB */ in tlb_wire_entry()
62 * Unwire the last wired TLB entry.
65 * TLB entries in an arbitrary order. If you wire TLB entry N, followed
81 * Make sure we're not trying to unwire a TLB entry when none in tlb_unwire_entry()
DMakefile30 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-y)
/Linux-v6.1/tools/perf/pmu-events/arch/arm64/arm/cortex-a73/
Dcache.json72 "PublicDescription": "Level 1 PLD TLB refill",
75 "BriefDescription": "Level 1 PLD TLB refill"
78 "PublicDescription": "Level 1 CP15 TLB refill",
81 "BriefDescription": "Level 1 CP15 TLB refill"
84 "PublicDescription": "Level 1 TLB flush",
87 "BriefDescription": "Level 1 TLB flush"
90 "PublicDescription": "Level 2 TLB access",
93 "BriefDescription": "Level 2 TLB access"
96 "PublicDescription": "Level 2 TLB miss",
99 "BriefDescription": "Level 2 TLB miss"
/Linux-v6.1/arch/ia64/include/asm/
Dtlb.h5 * Based on <asm-generic/tlb.h>.
11 * Removing a translation from a page table (including TLB-shootdown) is a four-step
22 * The Linux kernel defines several platform-specific hooks for TLB-shootdown. When
26 * tlb <- tlb_gather_mmu(mm); // start unmap for address space MM
29 * tlb_start_vma(tlb, vma);
31 * tlb_remove_tlb_entry(tlb, pte, address);
33 * tlb_remove_page(tlb, page);
36 * tlb_end_vma(tlb, vma);
39 * tlb_finish_mmu(tlb); // finish unmap for address space MM
48 #include <asm-generic/tlb.h>
/Linux-v6.1/include/linux/
Dio-pgtable.h26 * struct iommu_flush_ops - IOMMU callbacks for TLB and page table management.
28 * @tlb_flush_all: Synchronously invalidate the entire TLB context.
29 * @tlb_flush_walk: Synchronously invalidate all intermediate TLB state
32 * @tlb_add_page: Optional callback to queue up leaf TLB invalidation for a
33 * single page. IOMMUs that cannot batch TLB invalidation
60 * @tlb: TLB management callbacks for this set of tables.
100 const struct iommu_flush_ops *tlb; member
185 * the callback routines in cfg->tlb.
194 * live, but the TLB can be dirty.
225 if (iop->cfg.tlb && iop->cfg.tlb->tlb_flush_all) in io_pgtable_tlb_flush_all()
[all …]
/Linux-v6.1/arch/arm/mm/
Dtlb-v7.S3 * linux/arch/arm/mm/tlb-v7.S
8 * ARM architecture version 6 TLB handling functions.
9 * These assume a split I/D TLB.
22 * Invalidate a range of TLB entries in the specified address space.
47 ALT_SMP(mcr p15, 0, r0, c8, c3, 3) @ TLB invalidate U MVA all ASID (shareable)
49 ALT_SMP(mcr p15, 0, r0, c8, c3, 1) @ TLB invalidate U MVA (shareable)
51 ALT_UP(mcr p15, 0, r0, c8, c7, 1) @ TLB invalidate U MVA
63 * Invalidate a range of kernel TLB entries
76 ALT_SMP(mcr p15, 0, r0, c8, c3, 3) @ TLB invalidate U MVA all ASID (shareable)
78 ALT_SMP(mcr p15, 0, r0, c8, c3, 1) @ TLB invalidate U MVA (shareable)
[all …]

12345678910>>...47