Home
last modified time | relevance | path

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

12345678910>>...93

/kernel/linux/linux-5.10/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
51 * Finish in particular will issue a (final) TLB invalidate and free
86 * tlb_flush_mmu_tlbonly() - does the TLB invalidate (and resets
89 * tlb_flush_mmu() - in addition to the above TLB invalidate, also frees
106 * flush the entire TLB irrespective of the range. For instance
125 * returns the smallest TLB entry size unmapped in this range.
138 * This might be useful if your architecture has size specific TLB
[all …]
/kernel/linux/linux-6.6/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 …]
/kernel/linux/linux-6.6/mm/
Dmmu_gather.c14 #include <asm/tlb.h>
18 static bool tlb_next_batch(struct mmu_gather *tlb) in tlb_next_batch() argument
23 if (tlb->delayed_rmap && tlb->active != &tlb->local) in tlb_next_batch()
26 batch = tlb->active; in tlb_next_batch()
28 tlb->active = batch->next; in tlb_next_batch()
32 if (tlb->batch_count == MAX_GATHER_BATCH_COUNT) in tlb_next_batch()
39 tlb->batch_count++; in tlb_next_batch()
44 tlb->active->next = batch; in tlb_next_batch()
45 tlb->active = batch; in tlb_next_batch()
64 * tlb_flush_rmaps - do pending rmap removals after we have flushed the TLB
[all …]
/kernel/linux/linux-5.10/mm/
Dmmu_gather.c12 #include <asm/tlb.h>
16 static bool tlb_next_batch(struct mmu_gather *tlb) in tlb_next_batch() argument
20 batch = tlb->active; in tlb_next_batch()
22 tlb->active = batch->next; in tlb_next_batch()
26 if (tlb->batch_count == MAX_GATHER_BATCH_COUNT) in tlb_next_batch()
33 tlb->batch_count++; in tlb_next_batch()
38 tlb->active->next = batch; in tlb_next_batch()
39 tlb->active = batch; in tlb_next_batch()
44 static void tlb_batch_pages_flush(struct mmu_gather *tlb) in tlb_batch_pages_flush() argument
48 for (batch = &tlb->local; batch && batch->nr; batch = batch->next) { in tlb_batch_pages_flush()
[all …]
/kernel/linux/linux-5.10/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 …]
/kernel/linux/linux-6.6/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 …]
/kernel/linux/linux-5.10/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,
30 #define tlb_start_vma(tlb, vma) do { } while (0) argument
31 #define tlb_end_vma(tlb, vma) do { } while (0) argument
40 #include <asm-generic/tlb.h>
44 * tlb_ptep_clear_flush. In both flush modes the tlb for a page cache page
47 static inline bool __tlb_remove_page_size(struct mmu_gather *tlb, in __tlb_remove_page_size() argument
54 static inline void tlb_flush(struct mmu_gather *tlb) in tlb_flush() argument
[all …]
/kernel/linux/linux-6.6/tools/perf/pmu-events/arch/arm64/arm/neoverse-n2-v2/
Dtlb.json4TLB refills from any Instruction fetch. If there are multiple misses in the TLB that are resolved …
8TLB accesses that resulted in TLB refills. If there are multiple misses in the TLB that are resolv…
12TLB accesses caused by any memory load or store operation. Note that load or store instructions ca…
16 …ublicDescription": "Counts level 1 instruction TLB accesses, whether the access hits or misses in …
20 …ion": "Counts level 2 TLB refills caused by memory operations from both data and instruction fetch…
24 …"PublicDescription": "Counts level 2 TLB accesses except those caused by TLB maintenance operation…
28TLB driven by a memory access. Note that partial translations that also cause a table walk are cou…
32 … L2 TLB driven by a memory access. Partial translations that also cause a table walk are counted. …
36TLB refills caused by memory read operations. If there are multiple misses in the TLB that are res…
40TLB refills caused by data side memory write operations. If there are multiple misses in the TLB t…
[all …]
/kernel/linux/linux-6.6/tools/perf/pmu-events/arch/arm64/arm/neoverse-n1/
Dtlb.json4TLB refills from any Instruction fetch. If there are multiple misses in the TLB that are resolved …
8TLB accesses that resulted in TLB refills. If there are multiple misses in the TLB that are resolv…
12TLB accesses caused by any memory load or store operation. Note that load or store instructions ca…
16 …ublicDescription": "Counts level 1 instruction TLB accesses, whether the access hits or misses in …
20 …ion": "Counts level 2 TLB refills caused by memory operations from both data and instruction fetch…
24 …"PublicDescription": "Counts level 2 TLB accesses except those caused by TLB maintenance operation…
28TLB driven by a memory access. Note that partial translations that also cause a table walk are cou…
32 … L2 TLB driven by a memory access. Partial translations that also cause a table walk are counted. …
36TLB refills caused by memory read operations. If there are multiple misses in the TLB that are res…
40TLB refills caused by data side memory write operations. If there are multiple misses in the TLB t…
[all …]
/kernel/linux/linux-6.6/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,
38 #include <asm-generic/tlb.h>
42 * 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, in __tlb_remove_page_size() argument
56 static inline void tlb_flush(struct mmu_gather *tlb) in tlb_flush() argument
58 __tlb_flush_mm_lazy(tlb->mm); in tlb_flush()
63 * page table from the tlb.
[all …]
/kernel/linux/linux-5.10/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 …]
/kernel/linux/linux-6.6/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 …]
/kernel/linux/linux-5.10/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 …]
/kernel/linux/linux-6.6/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 …]
/kernel/linux/linux-5.10/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>
71 /* Structure defining an tlb entry data set. */
91 struct kvm_mips_tlb tlb; in kvm_mips_dump_guest_tlbs() local
98 tlb = vcpu->arch.guest_tlb[i]; in kvm_mips_dump_guest_tlbs()
99 kvm_info("TLB%c%3d Hi 0x%08lx ", in kvm_mips_dump_guest_tlbs()
100 (tlb.tlb_lo[0] | tlb.tlb_lo[1]) & ENTRYLO_V in kvm_mips_dump_guest_tlbs()
102 i, tlb.tlb_hi); in kvm_mips_dump_guest_tlbs()
104 (u64) mips3_tlbpfn_to_paddr(tlb.tlb_lo[0]), in kvm_mips_dump_guest_tlbs()
[all …]
/kernel/linux/linux-5.10/arch/x86/include/asm/
Dtlb.h5 #define tlb_start_vma(tlb, vma) do { } while (0) argument
6 #define tlb_end_vma(tlb, vma) do { } while (0) argument
7 #define __tlb_remove_tlb_entry(tlb, ptep, address) do { } while (0) argument
10 static inline void tlb_flush(struct mmu_gather *tlb);
12 #include <asm-generic/tlb.h>
14 static inline void tlb_flush(struct mmu_gather *tlb) in tlb_flush() argument
17 unsigned int stride_shift = tlb_get_unmap_shift(tlb); in tlb_flush()
19 if (!tlb->fullmm && !tlb->need_flush_all) { in tlb_flush()
20 start = tlb->start; in tlb_flush()
21 end = tlb->end; in tlb_flush()
[all …]
/kernel/linux/linux-5.10/tools/perf/pmu-events/arch/arm64/arm/cortex-a76-n1/
Dcache.json9 …ublicDescription": "L1 instruction TLB refill. This event counts any refill of the instruction L1
12 "BriefDescription": "L1 instruction TLB refill"
27 …"PublicDescription": "L1 data TLB refill. This event counts any refill of the data L1 TLB from the…
30 "BriefDescription": "L1 data TLB refill"
69 …blicDescription": "Level 1 data TLB access. This event counts any load or store operation which ac…
72 "BriefDescription": "Level 1 data TLB access."
75 …cription": "Level 1 instruction TLB access. This event counts any instruction fetch which accesses…
78 "BriefDescription": "Level 1 instruction TLB access"
99 …cDescription": "Attributable L2 data or unified TLB refill. This event counts on anyrefill of the …
102 "BriefDescription": "Attributable L2 data or unified TLB refill"
[all …]
/kernel/linux/linux-6.6/arch/riscv/include/asm/
Dtlb.h11 static void tlb_flush(struct mmu_gather *tlb);
14 #include <asm-generic/tlb.h>
16 static inline void tlb_flush(struct mmu_gather *tlb) in tlb_flush() argument
19 if (tlb->fullmm || tlb->need_flush_all || tlb->freed_tables) in tlb_flush()
20 flush_tlb_mm(tlb->mm); in tlb_flush()
22 flush_tlb_mm_range(tlb->mm, tlb->start, tlb->end, in tlb_flush()
23 tlb_get_unmap_size(tlb)); in tlb_flush()
/kernel/linux/linux-6.6/tools/perf/pmu-events/arch/x86/skylakex/
Dvirtual-memory.json6 … a page walk of any page size (4K/2M/4M/1G). This implies it missed in all TLB levels, but the wal…
14 …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…
31 …emand data loads. This implies it missed in the DTLB and further levels of TLB. The page walk can …
39 …This implies address translations missed in the DTLB and further levels of TLB. The page walk can …
47 …This implies address translations missed in the DTLB and further levels of TLB. The page walk can …
55 …This implies address translations missed in the DTLB and further levels of TLB. The page walk can …
71 … a page walk of any page size (4K/2M/4M/1G). This implies it missed in all TLB levels, but the wal…
79 … "PublicDescription": "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…
[all …]
/kernel/linux/linux-6.6/tools/perf/pmu-events/arch/x86/skylake/
Dvirtual-memory.json6 … a page walk of any page size (4K/2M/4M/1G). This implies it missed in all TLB levels, but the wal…
14 …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…
31 …emand data loads. This implies it missed in the DTLB and further levels of TLB. The page walk can …
39 …This implies address translations missed in the DTLB and further levels of TLB. The page walk can …
47 …This implies address translations missed in the DTLB and further levels of TLB. The page walk can …
55 …This implies address translations missed in the DTLB and further levels of TLB. The page walk can …
71 … a page walk of any page size (4K/2M/4M/1G). This implies it missed in all TLB levels, but the wal…
79 … "PublicDescription": "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…
[all …]
/kernel/linux/linux-6.6/tools/perf/pmu-events/arch/x86/cascadelakex/
Dvirtual-memory.json6 … a page walk of any page size (4K/2M/4M/1G). This implies it missed in all TLB levels, but the wal…
14 …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…
31 …emand data loads. This implies it missed in the DTLB and further levels of TLB. The page walk can …
39 …This implies address translations missed in the DTLB and further levels of TLB. The page walk can …
47 …This implies address translations missed in the DTLB and further levels of TLB. The page walk can …
55 …This implies address translations missed in the DTLB and further levels of TLB. The page walk can …
71 … a page walk of any page size (4K/2M/4M/1G). This implies it missed in all TLB levels, but the wal…
79 … "PublicDescription": "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…
[all …]
/kernel/linux/linux-6.6/tools/perf/pmu-events/arch/x86/sapphirerapids/
Dvirtual-memory.json6 …blicDescription": "Counts loads that miss the DTLB (Data TLB) and hit the STLB (Second level TLB).…
20 …"BriefDescription": "Load miss in all TLB levels causes a page walk that completes. (All page size…
23 …emand data loads. This implies it missed in the DTLB and further levels of TLB. The page walk can …
31 …This implies address translations missed in the DTLB and further levels of TLB. The page walk can …
39 …This implies address translations missed in the DTLB and further levels of TLB. The page walk can …
47 …This implies address translations missed in the DTLB and further levels of TLB. The page walk can …
63 …ublicDescription": "Counts stores that miss the DTLB (Data TLB) and hit the STLB (2nd Level TLB).",
77 …"BriefDescription": "Store misses in all TLB levels causes a page walk that completes. (All page s…
80 …mand data stores. This implies it missed in the DTLB and further levels of TLB. The page walk can …
88 …This implies address translations missed in the DTLB and further levels of TLB. The page walk can …
[all …]
/kernel/linux/linux-6.6/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 …]
/kernel/linux/linux-6.6/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
/kernel/linux/linux-6.6/tools/perf/pmu-events/arch/x86/icelakex/
Dvirtual-memory.json6 …blicDescription": "Counts loads that miss the DTLB (Data TLB) and hit the STLB (Second level TLB).…
20 …"BriefDescription": "Load miss in all TLB levels causes a page walk that completes. (All page size…
23 …emand data loads. This implies it missed in the DTLB and further levels of TLB. The page walk can …
31 …This implies address translations missed in the DTLB and further levels of TLB. The page walk can …
39 …This implies address translations missed in the DTLB and further levels of TLB. The page walk can …
47 …This implies address translations missed in the DTLB and further levels of TLB. The page walk can …
63 …ublicDescription": "Counts stores that miss the DTLB (Data TLB) and hit the STLB (2nd Level TLB).",
77 …"BriefDescription": "Store misses in all TLB levels causes a page walk that completes. (All page s…
80 …mand data stores. This implies it missed in the DTLB and further levels of TLB. The page walk can …
88 …This implies address translations missed in the DTLB and further levels of TLB. The page walk can …
[all …]

12345678910>>...93