xref: /linux/tools/perf/pmu-events/arch/powerpc/power10/pipeline.json (revision be239684b18e1cdcafcf8c7face4a2f562c745ad)
1[
2  {
3    "EventCode": "0x10004",
4    "EventName": "PM_EXEC_STALL_TRANSLATION",
5    "BriefDescription": "Cycles in which the oldest instruction in the pipeline suffered a TLB miss or ERAT miss and waited for it to resolve."
6  },
7  {
8    "EventCode": "0x10006",
9    "EventName": "PM_DISP_STALL_HELD_OTHER_CYC",
10    "BriefDescription": "Cycles in which the next-to-complete (NTC) instruction is held at dispatch for any other reason."
11  },
12  {
13    "EventCode": "0x1000C",
14    "EventName": "PM_LSU_LD0_FIN",
15    "BriefDescription": "LSU Finished an internal operation in LD0 port."
16  },
17  {
18    "EventCode": "0x1000E",
19    "EventName": "PM_MMA_ISSUED",
20    "BriefDescription": "MMA instruction issued."
21  },
22  {
23    "EventCode": "0x10012",
24    "EventName": "PM_LSU_ST0_FIN",
25    "BriefDescription": "LSU Finished an internal operation in ST0 port."
26  },
27  {
28    "EventCode": "0x10014",
29    "EventName": "PM_LSU_ST4_FIN",
30    "BriefDescription": "LSU Finished an internal operation in ST4 port."
31  },
32  {
33    "EventCode": "0x10018",
34    "EventName": "PM_IC_DEMAND_CYC",
35    "BriefDescription": "Cycles in which an instruction reload is pending to satisfy a demand miss."
36  },
37  {
38    "EventCode": "0x10028",
39    "EventName": "PM_NTC_FLUSH",
40    "BriefDescription": "The instruction was flushed after becoming next-to-complete (NTC)."
41  },
42  {
43    "EventCode": "0x10038",
44    "EventName": "PM_DISP_STALL_TRANSLATION",
45    "BriefDescription": "Cycles when dispatch was stalled for this thread because the MMU was handling a translation miss."
46  },
47  {
48    "EventCode": "0x1003A",
49    "EventName": "PM_DISP_STALL_BR_MPRED_IC_L2",
50    "BriefDescription": "Cycles when dispatch was stalled while the instruction was fetched from the local L2 after suffering a branch mispredict."
51  },
52  {
53    "EventCode": "0x1003C",
54    "EventName": "PM_EXEC_STALL_DMISS_L2L3",
55    "BriefDescription": "Cycles in which the oldest instruction in the pipeline was waiting for a load miss to resolve from either the local L2 or local L3."
56  },
57  {
58    "EventCode": "0x10058",
59    "EventName": "PM_EXEC_STALL_FIN_AT_DISP",
60    "BriefDescription": "Cycles in which the oldest instruction in the pipeline finished at dispatch and did not require execution in the LSU, BRU or VSU."
61  },
62  {
63    "EventCode": "0x1005A",
64    "EventName": "PM_FLUSH_MPRED",
65    "BriefDescription": "A flush occurred due to a mispredicted branch. Includes target and direction."
66  },
67  {
68    "EventCode": "0x1C05A",
69    "EventName": "PM_DERAT_MISS_2M",
70    "BriefDescription": "Data ERAT Miss (Data TLB Access) page size 2M. Implies radix translation. When MMCR1[16]=0 this event counts only DERAT reloads for demand misses. When MMCR1[16]=1 this event includes demand misses and prefetches."
71  },
72  {
73    "EventCode": "0x1D05E",
74    "EventName": "PM_DISP_STALL_HELD_HALT_CYC",
75    "BriefDescription": "Cycles in which the next-to-complete (NTC) instruction is held at dispatch because of power management."
76  },
77  {
78    "EventCode": "0x1E050",
79    "EventName": "PM_DISP_STALL_HELD_STF_MAPPER_CYC",
80    "BriefDescription": "Cycles in which the next-to-complete (NTC) instruction is held at dispatch because the STF mapper/SRB was full. Includes GPR (count, link, tar), VSR, VMR, FPR."
81  },
82  {
83    "EventCode": "0x1E054",
84    "EventName": "PM_EXEC_STALL_DMISS_L21_L31",
85    "BriefDescription": "Cycles in which the oldest instruction in the pipeline was waiting for a load miss to resolve from another core's L2 or L3 on the same chip."
86  },
87  {
88    "EventCode": "0x1E056",
89    "EventName": "PM_EXEC_STALL_STORE_PIPE",
90    "BriefDescription": "Cycles in which the oldest instruction in the pipeline was executing in the store unit. This does not include cycles spent handling store misses, PTESYNC instructions or TLBIE instructions."
91  },
92  {
93    "EventCode": "0x1E05A",
94    "EventName": "PM_CMPL_STALL_LWSYNC",
95    "BriefDescription": "Cycles in which the oldest instruction in the pipeline was a lwsync waiting to complete."
96  },
97  {
98    "EventCode": "0x1F058",
99    "EventName": "PM_DISP_HELD_CYC",
100    "BriefDescription": "Cycles dispatch is held."
101  },
102  {
103    "EventCode": "0x10064",
104    "EventName": "PM_DISP_STALL_IC_L2",
105    "BriefDescription": "Cycles when dispatch was stalled while the instruction was fetched from the local L2."
106  },
107  {
108    "EventCode": "0x10068",
109    "EventName": "PM_BR_FIN",
110    "BriefDescription": "A branch instruction finished. Includes predicted/mispredicted/unconditional."
111  },
112  {
113    "EventCode": "0x1006A",
114    "EventName": "PM_FX_LSU_FIN",
115    "BriefDescription": "Simple fixed point instruction issued to the store unit. Measured at finish time."
116  },
117  {
118    "EventCode": "0x100F8",
119    "EventName": "PM_DISP_STALL_CYC",
120    "BriefDescription": "Cycles the ICT has no itags assigned to this thread (no instructions were dispatched during these cycles)."
121  },
122  {
123    "EventCode": "0x20004",
124    "EventName": "PM_ISSUE_STALL",
125    "BriefDescription": "Cycles in which the oldest instruction in the pipeline was dispatched but not issued yet."
126  },
127  {
128    "EventCode": "0x20006",
129    "EventName": "PM_DISP_STALL_HELD_ISSQ_FULL_CYC",
130    "BriefDescription": "Cycles in which the next-to-complete (NTC) instruction is held at dispatch due to Issue queue full. Includes issue queue and branch queue."
131  },
132  {
133    "EventCode": "0x2000E",
134    "EventName": "PM_LSU_LD1_FIN",
135    "BriefDescription": "LSU Finished an internal operation in LD1 port."
136  },
137  {
138    "EventCode": "0x2C010",
139    "EventName": "PM_EXEC_STALL_LSU",
140    "BriefDescription": "Cycles in which the oldest instruction in the pipeline was executing in the Load Store Unit. This does not include simple fixed point instructions."
141  },
142  {
143    "EventCode": "0x2C014",
144    "EventName": "PM_CMPL_STALL_SPECIAL",
145    "BriefDescription": "Cycles in which the oldest instruction in the pipeline required special handling before completing."
146  },
147  {
148    "EventCode": "0x2C016",
149    "EventName": "PM_DISP_STALL_IERAT_ONLY_MISS",
150    "BriefDescription": "Cycles when dispatch was stalled while waiting to resolve an instruction ERAT miss."
151  },
152  {
153    "EventCode": "0x2C018",
154    "EventName": "PM_EXEC_STALL_DMISS_L3MISS",
155    "BriefDescription": "Cycles in which the oldest instruction in the pipeline was waiting for a load miss to resolve from a source beyond the local L2 or local L3."
156  },
157  {
158    "EventCode": "0x2C01C",
159    "EventName": "PM_EXEC_STALL_DMISS_OFF_CHIP",
160    "BriefDescription": "Cycles in which the oldest instruction in the pipeline was waiting for a load miss to resolve from a remote chip."
161  },
162  {
163    "EventCode": "0x2C01E",
164    "EventName": "PM_DISP_STALL_BR_MPRED_IC_L3",
165    "BriefDescription": "Cycles when dispatch was stalled while the instruction was fetched from the local L3 after suffering a branch mispredict."
166  },
167  {
168    "EventCode": "0x2D010",
169    "EventName": "PM_LSU_ST1_FIN",
170    "BriefDescription": "LSU Finished an internal operation in ST1 port."
171  },
172  {
173    "EventCode": "0x10016",
174    "EventName": "PM_VSU0_ISSUE",
175    "BriefDescription": "VSU instruction issued to VSU pipe 0."
176  },
177  {
178    "EventCode": "0x2D012",
179    "EventName": "PM_VSU1_ISSUE",
180    "BriefDescription": "VSU instruction issued to VSU pipe 1."
181  },
182  {
183    "EventCode": "0x2505C",
184    "EventName": "PM_VSU_ISSUE",
185    "BriefDescription": "At least one VSU instruction was issued to one of the VSU pipes. Up to 4 per cycle. Includes fixed point operations."
186  },
187  {
188    "EventCode": "0x4001C",
189    "EventName": "PM_VSU_FIN",
190    "BriefDescription": "VSU instruction finished."
191  },
192  {
193    "EventCode": "0x2D018",
194    "EventName": "PM_EXEC_STALL_VSU",
195    "BriefDescription": "Cycles in which the oldest instruction in the pipeline was executing in the VSU (includes FXU, VSU, CRU)."
196  },
197  {
198    "EventCode": "0x2D01A",
199    "EventName": "PM_DISP_STALL_IC_MISS",
200    "BriefDescription": "Cycles when dispatch was stalled for this thread due to an instruction cache miss."
201  },
202  {
203    "EventCode": "0x2D01C",
204    "EventName": "PM_CMPL_STALL_STCX",
205    "BriefDescription": "Cycles in which the oldest instruction in the pipeline was a stcx waiting for resolution from the nest before completing."
206  },
207  {
208    "EventCode": "0x2E018",
209    "EventName": "PM_DISP_STALL_FETCH",
210    "BriefDescription": "Cycles when dispatch was stalled for this thread because Fetch was being held."
211  },
212  {
213    "EventCode": "0x2E01A",
214    "EventName": "PM_DISP_STALL_HELD_XVFC_MAPPER_CYC",
215    "BriefDescription": "Cycles in which the next-to-complete (NTC) instruction is held at dispatch because the XVFC mapper/SRB was full."
216  },
217  {
218    "EventCode": "0x2E01C",
219    "EventName": "PM_EXEC_STALL_TLBIE",
220    "BriefDescription": "Cycles in which the oldest instruction in the pipeline was a TLBIE instruction executing in the Load Store Unit."
221  },
222  {
223    "EventCode": "0x2E01E",
224    "EventName": "PM_EXEC_STALL_NTC_FLUSH",
225    "BriefDescription": "Cycles in which the oldest instruction in the pipeline was executing in any unit before it was flushed. Note that if the flush of the oldest instruction happens after finish, the cycles from dispatch to issue will be included in PM_DISP_STALL and the cycles from issue to finish will be included in PM_EXEC_STALL and its corresponding children. This event will also count cycles when the previous next-to-finish (NTF) instruction is still completing and the new NTF instruction is stalled at dispatch."
226  },
227  {
228    "EventCode": "0x2405A",
229    "EventName": "PM_NTC_FIN",
230    "BriefDescription": "Cycles in which the oldest instruction in the pipeline (NTC) finishes. Note that instructions can finish out of order, therefore not all the instructions that finish have a Next-to-complete status."
231  },
232  {
233    "EventCode": "0x20066",
234    "EventName": "PM_DISP_HELD_OTHER_CYC",
235    "BriefDescription": "Cycles dispatch is held for any other reason."
236  },
237  {
238    "EventCode": "0x2006A",
239    "EventName": "PM_DISP_HELD_STF_MAPPER_CYC",
240    "BriefDescription": "Cycles dispatch is held because the STF mapper/SRB was full. Includes GPR (count, link, tar), VSR, VMR, FPR."
241  },
242  {
243    "EventCode": "0x30004",
244    "EventName": "PM_DISP_STALL_FLUSH",
245    "BriefDescription": "Cycles when dispatch was stalled because of a flush that happened to an instruction(s) that was not yet next-to-complete (NTC). PM_EXEC_STALL_NTC_FLUSH only includes instructions that were flushed after becoming NTC."
246  },
247  {
248    "EventCode": "0x30008",
249    "EventName": "PM_EXEC_STALL",
250    "BriefDescription": "Cycles in which the oldest instruction in the pipeline was waiting to finish in one of the execution units (BRU, LSU, VSU). Only cycles between issue and finish are counted in this category."
251  },
252  {
253    "EventCode": "0x30014",
254    "EventName": "PM_EXEC_STALL_STORE",
255    "BriefDescription": "Cycles in which the oldest instruction in the pipeline was a store instruction executing in the Load Store Unit."
256  },
257  {
258    "EventCode": "0x30016",
259    "EventName": "PM_EXEC_STALL_DERAT_DTLB_MISS",
260    "BriefDescription": "Cycles in which the oldest instruction in the pipeline suffered a TLB miss and waited for it resolve."
261  },
262  {
263    "EventCode": "0x30018",
264    "EventName": "PM_DISP_STALL_HELD_SCOREBOARD_CYC",
265    "BriefDescription": "Cycles in which the next-to-complete (NTC) instruction is held at dispatch while waiting on the Scoreboard. This event combines VSCR and FPSCR together."
266  },
267  {
268    "EventCode": "0x3001A",
269    "EventName": "PM_LSU_ST2_FIN",
270    "BriefDescription": "LSU Finished an internal operation in ST2 port."
271  },
272  {
273    "EventCode": "0x30026",
274    "EventName": "PM_EXEC_STALL_STORE_MISS",
275    "BriefDescription": "Cycles in which the oldest instruction in the pipeline was a store whose cache line was not resident in the L1 and was waiting for allocation of the missing line into the L1."
276  },
277  {
278    "EventCode": "0x30028",
279    "EventName": "PM_CMPL_STALL_MEM_ECC",
280    "BriefDescription": "Cycles in which the oldest instruction in the pipeline was waiting for the non-speculative finish of either a STCX waiting for its result or a load waiting for non-critical sectors of data and ECC."
281  },
282  {
283    "EventCode": "0x30036",
284    "EventName": "PM_EXEC_STALL_SIMPLE_FX",
285    "BriefDescription": "Cycles in which the oldest instruction in the pipeline was a simple fixed point instruction executing in the Load Store Unit."
286  },
287  {
288    "EventCode": "0x30038",
289    "EventName": "PM_EXEC_STALL_DMISS_LMEM",
290    "BriefDescription": "Cycles in which the oldest instruction in the pipeline was waiting for a load miss to resolve from the local memory, local OpenCAPI cache, or local OpenCAPI memory."
291  },
292  {
293    "EventCode": "0x3003A",
294    "EventName": "PM_CMPL_STALL_EXCEPTION",
295    "BriefDescription": "Cycles in which the oldest instruction in the pipeline was not allowed to complete because it was interrupted by ANY exception, which has to be serviced before the instruction can complete."
296  },
297  {
298    "EventCode": "0x3F044",
299    "EventName": "PM_VSU2_ISSUE",
300    "BriefDescription": "VSU instruction issued to VSU pipe 2."
301  },
302  {
303    "EventCode": "0x30058",
304    "EventName": "PM_TLBIE_FIN",
305    "BriefDescription": "TLBIE instruction finished in the LSU. Two TLBIEs can finish each cycle. All will be counted."
306  },
307  {
308    "EventCode": "0x34054",
309    "EventName": "PM_EXEC_STALL_DMISS_L2L3_NOCONFLICT",
310    "BriefDescription": "Cycles in which the oldest instruction in the pipeline was waiting for a load miss to resolve from the local L2 or local L3, without a dispatch conflict."
311  },
312  {
313    "EventCode": "0x34056",
314    "EventName": "PM_EXEC_STALL_LOAD_FINISH",
315    "BriefDescription": "Cycles in which the oldest instruction in the pipeline was finishing a load after its data was reloaded from a data source beyond the local L1; cycles in which the LSU was processing an L1-hit; cycles in which the next-to-finish (NTF) instruction merged with another load in the LMQ; cycles in which the NTF instruction is waiting for a data reload for a load miss, but the data comes back with a non-NTF instruction."
316  },
317  {
318    "EventCode": "0x34058",
319    "EventName": "PM_DISP_STALL_BR_MPRED_ICMISS",
320    "BriefDescription": "Cycles when dispatch was stalled after a mispredicted branch resulted in an instruction cache miss."
321  },
322  {
323    "EventCode": "0x3D05C",
324    "EventName": "PM_DISP_STALL_HELD_RENAME_CYC",
325    "BriefDescription": "Cycles in which the next-to-complete (NTC) instruction is held at dispatch because the mapper/SRB was full. Includes GPR (count, link, tar), VSR, VMR, FPR and XVFC."
326  },
327  {
328    "EventCode": "0x3E052",
329    "EventName": "PM_DISP_STALL_IC_L3",
330    "BriefDescription": "Cycles when dispatch was stalled while the instruction was fetched from the local L3."
331  },
332  {
333    "EventCode": "0x30060",
334    "EventName": "PM_DISP_HELD_XVFC_MAPPER_CYC",
335    "BriefDescription": "Cycles dispatch is held because the XVFC mapper/SRB was full."
336  },
337  {
338    "EventCode": "0x30066",
339    "EventName": "PM_LSU_FIN",
340    "BriefDescription": "LSU Finished an internal operation (up to 4 per cycle)."
341  },
342  {
343    "EventCode": "0x40004",
344    "EventName": "PM_FXU_ISSUE",
345    "BriefDescription": "A fixed point instruction was issued to the VSU."
346  },
347  {
348    "EventCode": "0x40008",
349    "EventName": "PM_NTC_ALL_FIN",
350    "BriefDescription": "Cycles in which both instructions in the ICT entry pair show as finished. These are the cycles between finish and completion for the oldest pair of instructions in the pipeline."
351  },
352  {
353    "EventCode": "0x4C010",
354    "EventName": "PM_DISP_STALL_BR_MPRED_IC_L3MISS",
355    "BriefDescription": "Cycles when dispatch was stalled while the instruction was fetched from sources beyond the local L3 after suffering a mispredicted branch."
356  },
357  {
358    "EventCode": "0x4C012",
359    "EventName": "PM_EXEC_STALL_DERAT_ONLY_MISS",
360    "BriefDescription": "Cycles in which the oldest instruction in the pipeline suffered an ERAT miss and waited for it resolve."
361  },
362  {
363    "EventCode": "0x4C016",
364    "EventName": "PM_EXEC_STALL_DMISS_L2L3_CONFLICT",
365    "BriefDescription": "Cycles in which the oldest instruction in the pipeline was waiting for a load miss to resolve from the local L2 or local L3, with a dispatch conflict."
366  },
367  {
368    "EventCode": "0x4C018",
369    "EventName": "PM_CMPL_STALL",
370    "BriefDescription": "Cycles in which the oldest instruction in the pipeline cannot complete because the thread was blocked for any reason."
371  },
372  {
373    "EventCode": "0x4C01A",
374    "EventName": "PM_EXEC_STALL_DMISS_OFF_NODE",
375    "BriefDescription": "Cycles in which the oldest instruction in the pipeline was waiting for a load miss to resolve from a distant chip."
376  },
377  {
378    "EventCode": "0x4C01E",
379    "EventName": "PM_LSU_ST3_FIN",
380    "BriefDescription": "LSU Finished an internal operation in ST3 port."
381  },
382  {
383    "EventCode": "0x4D014",
384    "EventName": "PM_EXEC_STALL_LOAD",
385    "BriefDescription": "Cycles in which the oldest instruction in the pipeline was a load instruction executing in the Load Store Unit."
386  },
387  {
388    "EventCode": "0x4D016",
389    "EventName": "PM_EXEC_STALL_PTESYNC",
390    "BriefDescription": "Cycles in which the oldest instruction in the pipeline was a PTESYNC instruction executing in the Load Store Unit."
391  },
392  {
393    "EventCode": "0x4D018",
394    "EventName": "PM_EXEC_STALL_BRU",
395    "BriefDescription": "Cycles in which the oldest instruction in the pipeline was executing in the Branch unit."
396  },
397  {
398    "EventCode": "0x4D01A",
399    "EventName": "PM_CMPL_STALL_HWSYNC",
400    "BriefDescription": "Cycles in which the oldest instruction in the pipeline was a hwsync waiting for response from L2 before completing."
401  },
402  {
403    "EventCode": "0x4D01C",
404    "EventName": "PM_EXEC_STALL_TLBIEL",
405    "BriefDescription": "Cycles in which the oldest instruction in the pipeline was a TLBIEL instruction executing in the Load Store Unit. TLBIEL instructions have lower overhead than TLBIE instructions because they don't get set to the nest."
406  },
407  {
408    "EventCode": "0x4D01E",
409    "EventName": "PM_DISP_STALL_BR_MPRED",
410    "BriefDescription": "Cycles when dispatch was stalled for this thread due to a mispredicted branch."
411  },
412  {
413    "EventCode": "0x4E010",
414    "EventName": "PM_DISP_STALL_IC_L3MISS",
415    "BriefDescription": "Cycles when dispatch was stalled while the instruction was fetched from any source beyond the local L3."
416  },
417  {
418    "EventCode": "0x4E012",
419    "EventName": "PM_EXEC_STALL_UNKNOWN",
420    "BriefDescription": "Cycles in which the oldest instruction in the pipeline completed without an ntf_type pulse. The ntf_pulse was missed by the ISU because the next-to-finish (NTF) instruction finishes and completions came too close together."
421  },
422  {
423    "EventCode": "0x4E01A",
424    "EventName": "PM_DISP_STALL_HELD_CYC",
425    "BriefDescription": "Cycles in which the next-to-complete (NTC) instruction is held at dispatch for any reason."
426  },
427  {
428    "EventCode": "0x4D020",
429    "EventName": "PM_VSU3_ISSUE",
430    "BriefDescription": "VSU instruction was issued to VSU pipe 3."
431  },
432  {
433    "EventCode": "0x4003C",
434    "EventName": "PM_DISP_STALL_HELD_SYNC_CYC",
435    "BriefDescription": "Cycles in which the next-to-complete (NTC) instruction is held at dispatch because of a synchronizing instruction that requires the ICT to be empty before dispatch."
436  },
437  {
438    "EventCode": "0x45058",
439    "EventName": "PM_IC_MISS_CMPL",
440    "BriefDescription": "Non-speculative instruction cache miss, counted at completion."
441  },
442  {
443    "EventCode": "0x40060",
444    "EventName": "PM_DISP_HELD_SCOREBOARD_CYC",
445    "BriefDescription": "Cycles dispatch is held while waiting on the Scoreboard. This event combines VSCR and FPSCR together."
446  },
447  {
448    "EventCode": "0x40062",
449    "EventName": "PM_DISP_HELD_RENAME_CYC",
450    "BriefDescription": "Cycles dispatch is held because the mapper/SRB was full. Includes GPR (count, link, tar), VSR, VMR, FPR and XVFC."
451  },
452  {
453    "EventCode": "0x400F2",
454    "EventName": "PM_1PLUS_PPC_DISP",
455    "BriefDescription": "Cycles at least one Instr Dispatched."
456  },
457  {
458    "EventCode": "0x400F8",
459    "EventName": "PM_FLUSH",
460    "BriefDescription": "Flush (any type)."
461  }
462]
463