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