xref: /freebsd/lib/libpmc/pmu-events/arch/x86/skylakex/virtual-memory.json (revision 924226fba12cc9a228c73b956e1b7fa24c60b055)
1[
2    {
3        "BriefDescription": "Load misses in all DTLB levels that cause page walks",
4        "Counter": "0,1,2,3",
5        "CounterHTOff": "0,1,2,3,4,5,6,7",
6        "EventCode": "0x08",
7        "EventName": "DTLB_LOAD_MISSES.MISS_CAUSES_A_WALK",
8        "PublicDescription": "Counts demand data loads that caused a page walk of any page size (4K/2M/4M/1G). This implies it missed in all TLB levels, but the walk need not have completed.",
9        "SampleAfterValue": "100003",
10        "UMask": "0x1"
11    },
12    {
13        "BriefDescription": "Loads that miss the DTLB and hit the STLB.",
14        "Counter": "0,1,2,3",
15        "CounterHTOff": "0,1,2,3,4,5,6,7",
16        "EventCode": "0x08",
17        "EventName": "DTLB_LOAD_MISSES.STLB_HIT",
18        "PublicDescription": "Counts loads that miss the DTLB (Data TLB) and hit the STLB (Second level TLB).",
19        "SampleAfterValue": "2000003",
20        "UMask": "0x20"
21    },
22    {
23        "BriefDescription": "Cycles when at least one PMH is busy with a page walk for a load. EPT page walk duration are excluded in Skylake.",
24        "Counter": "0,1,2,3",
25        "CounterHTOff": "0,1,2,3,4,5,6,7",
26        "CounterMask": "1",
27        "EventCode": "0x08",
28        "EventName": "DTLB_LOAD_MISSES.WALK_ACTIVE",
29        "PublicDescription": "Counts cycles when at least one PMH (Page Miss Handler) is busy with a page walk for a load.",
30        "SampleAfterValue": "100003",
31        "UMask": "0x10"
32    },
33    {
34        "BriefDescription": "Load miss in all TLB levels causes a page walk that completes. (All page sizes)",
35        "Counter": "0,1,2,3",
36        "CounterHTOff": "0,1,2,3,4,5,6,7",
37        "EventCode": "0x08",
38        "EventName": "DTLB_LOAD_MISSES.WALK_COMPLETED",
39        "PublicDescription": "Counts completed page walks  (all page sizes) caused by demand data loads. This implies it missed in the DTLB and further levels of TLB. The page walk can end with or without a fault.",
40        "SampleAfterValue": "100003",
41        "UMask": "0xe"
42    },
43    {
44        "BriefDescription": "Page walk completed due to a demand data load to a 1G page",
45        "Counter": "0,1,2,3",
46        "CounterHTOff": "0,1,2,3,4,5,6,7",
47        "EventCode": "0x08",
48        "EventName": "DTLB_LOAD_MISSES.WALK_COMPLETED_1G",
49        "PublicDescription": "Counts completed page walks  (1G sizes) caused by demand data loads. This implies address translations missed in the DTLB and further levels of TLB. The page walk can end with or without a fault.",
50        "SampleAfterValue": "2000003",
51        "UMask": "0x8"
52    },
53    {
54        "BriefDescription": "Page walk completed due to a demand data load to a 2M/4M page",
55        "Counter": "0,1,2,3",
56        "CounterHTOff": "0,1,2,3,4,5,6,7",
57        "EventCode": "0x08",
58        "EventName": "DTLB_LOAD_MISSES.WALK_COMPLETED_2M_4M",
59        "PublicDescription": "Counts completed page walks  (2M/4M sizes) caused by demand data loads. This implies address translations missed in the DTLB and further levels of TLB. The page walk can end with or without a fault.",
60        "SampleAfterValue": "2000003",
61        "UMask": "0x4"
62    },
63    {
64        "BriefDescription": "Page walk completed due to a demand data load to a 4K page",
65        "Counter": "0,1,2,3",
66        "CounterHTOff": "0,1,2,3,4,5,6,7",
67        "EventCode": "0x08",
68        "EventName": "DTLB_LOAD_MISSES.WALK_COMPLETED_4K",
69        "PublicDescription": "Counts completed page walks  (4K sizes) caused by demand data loads. This implies address translations missed in the DTLB and further levels of TLB. The page walk can end with or without a fault.",
70        "SampleAfterValue": "2000003",
71        "UMask": "0x2"
72    },
73    {
74        "BriefDescription": "Counts 1 per cycle for each PMH that is busy with a page walk for a load. EPT page walk duration are excluded in Skylake.",
75        "Counter": "0,1,2,3",
76        "CounterHTOff": "0,1,2,3,4,5,6,7",
77        "EventCode": "0x08",
78        "EventName": "DTLB_LOAD_MISSES.WALK_PENDING",
79        "PublicDescription": "Counts 1 per cycle for each PMH that is busy with a page walk for a load. EPT page walk duration are excluded in Skylake microarchitecture.",
80        "SampleAfterValue": "2000003",
81        "UMask": "0x10"
82    },
83    {
84        "BriefDescription": "Store misses in all DTLB levels that cause page walks",
85        "Counter": "0,1,2,3",
86        "CounterHTOff": "0,1,2,3,4,5,6,7",
87        "EventCode": "0x49",
88        "EventName": "DTLB_STORE_MISSES.MISS_CAUSES_A_WALK",
89        "PublicDescription": "Counts demand data stores that caused a page walk of any page size (4K/2M/4M/1G). This implies it missed in all TLB levels, but the walk need not have completed.",
90        "SampleAfterValue": "100003",
91        "UMask": "0x1"
92    },
93    {
94        "BriefDescription": "Stores that miss the DTLB and hit the STLB.",
95        "Counter": "0,1,2,3",
96        "CounterHTOff": "0,1,2,3,4,5,6,7",
97        "EventCode": "0x49",
98        "EventName": "DTLB_STORE_MISSES.STLB_HIT",
99        "PublicDescription": "Stores that miss the DTLB (Data TLB) and hit the STLB (2nd Level TLB).",
100        "SampleAfterValue": "100003",
101        "UMask": "0x20"
102    },
103    {
104        "BriefDescription": "Cycles when at least one PMH is busy with a page walk for a store. EPT page walk duration are excluded in Skylake.",
105        "Counter": "0,1,2,3",
106        "CounterHTOff": "0,1,2,3,4,5,6,7",
107        "CounterMask": "1",
108        "EventCode": "0x49",
109        "EventName": "DTLB_STORE_MISSES.WALK_ACTIVE",
110        "PublicDescription": "Counts cycles when at least one PMH (Page Miss Handler) is busy with a page walk for a store.",
111        "SampleAfterValue": "100003",
112        "UMask": "0x10"
113    },
114    {
115        "BriefDescription": "Store misses in all TLB levels causes a page walk that completes. (All page sizes)",
116        "Counter": "0,1,2,3",
117        "CounterHTOff": "0,1,2,3,4,5,6,7",
118        "EventCode": "0x49",
119        "EventName": "DTLB_STORE_MISSES.WALK_COMPLETED",
120        "PublicDescription": "Counts completed page walks  (all page sizes) caused by demand data stores. This implies it missed in the DTLB and further levels of TLB. The page walk can end with or without a fault.",
121        "SampleAfterValue": "100003",
122        "UMask": "0xe"
123    },
124    {
125        "BriefDescription": "Page walk completed due to a demand data store to a 1G page",
126        "Counter": "0,1,2,3",
127        "CounterHTOff": "0,1,2,3,4,5,6,7",
128        "EventCode": "0x49",
129        "EventName": "DTLB_STORE_MISSES.WALK_COMPLETED_1G",
130        "PublicDescription": "Counts completed page walks  (1G sizes) caused by demand data stores. This implies address translations missed in the DTLB and further levels of TLB. The page walk can end with or without a fault.",
131        "SampleAfterValue": "100003",
132        "UMask": "0x8"
133    },
134    {
135        "BriefDescription": "Page walk completed due to a demand data store to a 2M/4M page",
136        "Counter": "0,1,2,3",
137        "CounterHTOff": "0,1,2,3,4,5,6,7",
138        "EventCode": "0x49",
139        "EventName": "DTLB_STORE_MISSES.WALK_COMPLETED_2M_4M",
140        "PublicDescription": "Counts completed page walks  (2M/4M sizes) caused by demand data stores. This implies address translations missed in the DTLB and further levels of TLB. The page walk can end with or without a fault.",
141        "SampleAfterValue": "100003",
142        "UMask": "0x4"
143    },
144    {
145        "BriefDescription": "Page walk completed due to a demand data store to a 4K page",
146        "Counter": "0,1,2,3",
147        "CounterHTOff": "0,1,2,3,4,5,6,7",
148        "EventCode": "0x49",
149        "EventName": "DTLB_STORE_MISSES.WALK_COMPLETED_4K",
150        "PublicDescription": "Counts completed page walks  (4K sizes) caused by demand data stores. This implies address translations missed in the DTLB and further levels of TLB. The page walk can end with or without a fault.",
151        "SampleAfterValue": "100003",
152        "UMask": "0x2"
153    },
154    {
155        "BriefDescription": "Counts 1 per cycle for each PMH that is busy with a page walk for a store. EPT page walk duration are excluded in Skylake.",
156        "Counter": "0,1,2,3",
157        "CounterHTOff": "0,1,2,3,4,5,6,7",
158        "EventCode": "0x49",
159        "EventName": "DTLB_STORE_MISSES.WALK_PENDING",
160        "PublicDescription": "Counts 1 per cycle for each PMH that is busy with a page walk for a store. EPT page walk duration are excluded in Skylake microarchitecture.",
161        "SampleAfterValue": "2000003",
162        "UMask": "0x10"
163    },
164    {
165        "BriefDescription": "Counts 1 per cycle for each PMH that is busy with a EPT (Extended Page Table) walk for any request type.",
166        "Counter": "0,1,2,3",
167        "CounterHTOff": "0,1,2,3,4,5,6,7",
168        "EventCode": "0x4f",
169        "EventName": "EPT.WALK_PENDING",
170        "PublicDescription": "Counts cycles for each PMH (Page Miss Handler) that is busy with an EPT (Extended Page Table) walk for any request type.",
171        "SampleAfterValue": "2000003",
172        "UMask": "0x10"
173    },
174    {
175        "BriefDescription": "Flushing of the Instruction TLB (ITLB) pages, includes 4k/2M/4M pages.",
176        "Counter": "0,1,2,3",
177        "CounterHTOff": "0,1,2,3,4,5,6,7",
178        "EventCode": "0xAE",
179        "EventName": "ITLB.ITLB_FLUSH",
180        "PublicDescription": "Counts the number of flushes of the big or small ITLB pages. Counting include both TLB Flush (covering all sets) and TLB Set Clear (set-specific).",
181        "SampleAfterValue": "100007",
182        "UMask": "0x1"
183    },
184    {
185        "BriefDescription": "Misses at all ITLB levels that cause page walks",
186        "Counter": "0,1,2,3",
187        "CounterHTOff": "0,1,2,3,4,5,6,7",
188        "EventCode": "0x85",
189        "EventName": "ITLB_MISSES.MISS_CAUSES_A_WALK",
190        "PublicDescription": "Counts page walks of any page size (4K/2M/4M/1G) caused by a code fetch. This implies it missed in the ITLB and further levels of TLB, but the walk need not have completed.",
191        "SampleAfterValue": "100003",
192        "UMask": "0x1"
193    },
194    {
195        "BriefDescription": "Instruction fetch requests that miss the ITLB and hit the STLB.",
196        "Counter": "0,1,2,3",
197        "CounterHTOff": "0,1,2,3,4,5,6,7",
198        "EventCode": "0x85",
199        "EventName": "ITLB_MISSES.STLB_HIT",
200        "SampleAfterValue": "100003",
201        "UMask": "0x20"
202    },
203    {
204        "BriefDescription": "Cycles when at least one PMH is busy with a page walk for code (instruction fetch) request. EPT page walk duration are excluded in Skylake.",
205        "Counter": "0,1,2,3",
206        "CounterHTOff": "0,1,2,3,4,5,6,7",
207        "CounterMask": "1",
208        "EventCode": "0x85",
209        "EventName": "ITLB_MISSES.WALK_ACTIVE",
210        "PublicDescription": "Cycles when at least one PMH is busy with a page walk for code (instruction fetch) request. EPT page walk duration are excluded in Skylake microarchitecture.",
211        "SampleAfterValue": "100003",
212        "UMask": "0x10"
213    },
214    {
215        "BriefDescription": "Code miss in all TLB levels causes a page walk that completes. (All page sizes)",
216        "Counter": "0,1,2,3",
217        "CounterHTOff": "0,1,2,3,4,5,6,7",
218        "EventCode": "0x85",
219        "EventName": "ITLB_MISSES.WALK_COMPLETED",
220        "PublicDescription": "Counts completed page walks (all page sizes) caused by a code fetch. This implies it missed in the ITLB (Instruction TLB) and further levels of TLB. The page walk can end with or without a fault.",
221        "SampleAfterValue": "100003",
222        "UMask": "0xe"
223    },
224    {
225        "BriefDescription": "Code miss in all TLB levels causes a page walk that completes. (1G)",
226        "Counter": "0,1,2,3",
227        "CounterHTOff": "0,1,2,3,4,5,6,7",
228        "EventCode": "0x85",
229        "EventName": "ITLB_MISSES.WALK_COMPLETED_1G",
230        "PublicDescription": "Counts completed page walks (1G page sizes) caused by a code fetch. This implies it missed in the ITLB (Instruction TLB) and further levels of TLB. The page walk can end with or without a fault.",
231        "SampleAfterValue": "100003",
232        "UMask": "0x8"
233    },
234    {
235        "BriefDescription": "Code miss in all TLB levels causes a page walk that completes. (2M/4M)",
236        "Counter": "0,1,2,3",
237        "CounterHTOff": "0,1,2,3,4,5,6,7",
238        "EventCode": "0x85",
239        "EventName": "ITLB_MISSES.WALK_COMPLETED_2M_4M",
240        "PublicDescription": "Counts completed page walks (2M/4M page sizes) caused by a code fetch. This implies it missed in the ITLB (Instruction TLB) and further levels of TLB. The page walk can end with or without a fault.",
241        "SampleAfterValue": "100003",
242        "UMask": "0x4"
243    },
244    {
245        "BriefDescription": "Code miss in all TLB levels causes a page walk that completes. (4K)",
246        "Counter": "0,1,2,3",
247        "CounterHTOff": "0,1,2,3,4,5,6,7",
248        "EventCode": "0x85",
249        "EventName": "ITLB_MISSES.WALK_COMPLETED_4K",
250        "PublicDescription": "Counts completed page walks (4K page sizes) caused by a code fetch. This implies it missed in the ITLB (Instruction TLB) and further levels of TLB. The page walk can end with or without a fault.",
251        "SampleAfterValue": "100003",
252        "UMask": "0x2"
253    },
254    {
255        "BriefDescription": "Counts 1 per cycle for each PMH that is busy with a page walk for an instruction fetch request. EPT page walk duration are excluded in Skylake.",
256        "Counter": "0,1,2,3",
257        "CounterHTOff": "0,1,2,3,4,5,6,7",
258        "EventCode": "0x85",
259        "EventName": "ITLB_MISSES.WALK_PENDING",
260        "PublicDescription": "Counts 1 per cycle for each PMH (Page Miss Handler) that is busy with a page walk for an instruction fetch request. EPT page walk duration are excluded in Skylake michroarchitecture.",
261        "SampleAfterValue": "100003",
262        "UMask": "0x10"
263    },
264    {
265        "BriefDescription": "DTLB flush attempts of the thread-specific entries",
266        "Counter": "0,1,2,3",
267        "CounterHTOff": "0,1,2,3,4,5,6,7",
268        "EventCode": "0xBD",
269        "EventName": "TLB_FLUSH.DTLB_THREAD",
270        "PublicDescription": "Counts the number of DTLB flush attempts of the thread-specific entries.",
271        "SampleAfterValue": "100007",
272        "UMask": "0x1"
273    },
274    {
275        "BriefDescription": "STLB flush attempts",
276        "Counter": "0,1,2,3",
277        "CounterHTOff": "0,1,2,3,4,5,6,7",
278        "EventCode": "0xBD",
279        "EventName": "TLB_FLUSH.STLB_ANY",
280        "PublicDescription": "Counts the number of any STLB flush attempts (such as entire, VPID, PCID, InvPage, CR3 write, etc.).",
281        "SampleAfterValue": "100007",
282        "UMask": "0x20"
283    }
284]