summaryrefslogtreecommitdiffstats
path: root/tools/perf/pmu-events/arch/powerpc/power10/pipeline.json
blob: b61b5cc157ee32dd89addd0529f54d8e48504f7d (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
[
  {
    "EventCode": "100FE",
    "EventName": "PM_INST_CMPL",
    "BriefDescription": "PowerPC instructions completed."
  },
  {
    "EventCode": "10006",
    "EventName": "PM_DISP_STALL_HELD_OTHER_CYC",
    "BriefDescription": "Cycles in which the NTC instruction is held at dispatch for any other reason."
  },
  {
    "EventCode": "1000C",
    "EventName": "PM_LSU_LD0_FIN",
    "BriefDescription": "LSU Finished an internal operation in LD0 port."
  },
  {
    "EventCode": "1000E",
    "EventName": "PM_MMA_ISSUED",
    "BriefDescription": "MMA instructions issued."
  },
  {
    "EventCode": "10012",
    "EventName": "PM_LSU_ST0_FIN",
    "BriefDescription": "LSU Finished an internal operation in ST0 port."
  },
  {
    "EventCode": "10014",
    "EventName": "PM_LSU_ST4_FIN",
    "BriefDescription": "LSU Finished an internal operation in ST4 port."
  },
  {
    "EventCode": "10018",
    "EventName": "PM_IC_DEMAND_CYC",
    "BriefDescription": "Cycles in which an instruction reload is pending to satisfy a demand miss."
  },
  {
    "EventCode": "10022",
    "EventName": "PM_PMC2_SAVED",
    "BriefDescription": "The conditions for the speculative event selected for PMC2 are met and PMC2 is charged."
  },
  {
    "EventCode": "10024",
    "EventName": "PM_PMC5_OVERFLOW",
    "BriefDescription": "The event selected for PMC5 caused the event counter to overflow."
  },
  {
    "EventCode": "10058",
    "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": "1005A",
    "EventName": "PM_FLUSH_MPRED",
    "BriefDescription": "A flush occurred due to a mispredicted branch. Includes target and direction."
  },
  {
    "EventCode": "1C05A",
    "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": "10064",
    "EventName": "PM_DISP_STALL_IC_L2",
    "BriefDescription": "Cycles when dispatch was stalled while the instruction was fetched from the local L2."
  },
  {
    "EventCode": "10068",
    "EventName": "PM_BR_FIN",
    "BriefDescription": "A branch instruction finished. Includes predicted/mispredicted/unconditional."
  },
  {
    "EventCode": "1006A",
    "EventName": "PM_FX_LSU_FIN",
    "BriefDescription": "Simple fixed point instruction issued to the store unit. Measured at finish time."
  },
  {
    "EventCode": "1006C",
    "EventName": "PM_RUN_CYC_ST_MODE",
    "BriefDescription": "Cycles when the run latch is set and the core is in ST mode."
  },
  {
    "EventCode": "20004",
    "EventName": "PM_ISSUE_STALL",
    "BriefDescription": "Cycles in which the oldest instruction in the pipeline was dispatched but not issued yet."
  },
  {
    "EventCode": "2000A",
    "EventName": "PM_HYPERVISOR_CYC",
    "BriefDescription": "Cycles when the thread is in Hypervisor state. MSR[S HV PR]=010."
  },
  {
    "EventCode": "2000E",
    "EventName": "PM_LSU_LD1_FIN",
    "BriefDescription": "LSU Finished an internal operation in LD1 port."
  },
  {
    "EventCode": "2C014",
    "EventName": "PM_CMPL_STALL_SPECIAL",
    "BriefDescription": "Cycles in which the oldest instruction in the pipeline required special handling before completing."
  },
  {
    "EventCode": "2C018",
    "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": "2D010",
    "EventName": "PM_LSU_ST1_FIN",
    "BriefDescription": "LSU Finished an internal operation in ST1 port."
  },
  {
    "EventCode": "2D012",
    "EventName": "PM_VSU1_ISSUE",
    "BriefDescription": "VSU instructions issued to VSU pipe 1."
  },
  {
    "EventCode": "2D018",
    "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": "2E01E",
    "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."
  },
  {
    "EventCode": "2013C",
    "EventName": "PM_MRK_FX_LSU_FIN",
    "BriefDescription": "The marked instruction was simple fixed point that was issued to the store unit. Measured at finish time."
  },
  {
    "EventCode": "2405A",
    "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": "201E2",
    "EventName": "PM_MRK_LD_MISS_L1",
    "BriefDescription": "Marked DL1 Demand Miss counted at finish time."
  },
  {
    "EventCode": "200F4",
    "EventName": "PM_RUN_CYC",
    "BriefDescription": "Processor cycles gated by the run latch."
  },
  {
    "EventCode": "30004",
    "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 NTC. PM_EXEC_STALL_NTC_FLUSH only includes instructions that were flushed after becoming NTC."
  },
  {
    "EventCode": "30008",
    "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": "3001A",
    "EventName": "PM_LSU_ST2_FIN",
    "BriefDescription": "LSU Finished an internal operation in ST2 port."
  },
  {
    "EventCode": "30020",
    "EventName": "PM_PMC2_REWIND",
    "BriefDescription": "The speculative event selected for PMC2 rewinds and the counter for PMC2 is not charged."
  },
  {
    "EventCode": "30022",
    "EventName": "PM_PMC4_SAVED",
    "BriefDescription": "The conditions for the speculative event selected for PMC4 are met and PMC4 is charged."
  },
  {
    "EventCode": "30024",
    "EventName": "PM_PMC6_OVERFLOW",
    "BriefDescription": "The event selected for PMC6 caused the event counter to overflow."
  },
  {
    "EventCode": "30028",
    "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": "30036",
    "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": "3003A",
    "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": "3F044",
    "EventName": "PM_VSU2_ISSUE",
    "BriefDescription": "VSU instructions issued to VSU pipe 2."
  },
  {
    "EventCode": "30058",
    "EventName": "PM_TLBIE_FIN",
    "BriefDescription": "TLBIE instructions finished in the LSU. Two TLBIEs can finish each cycle. All will be counted."
  },
  {
    "EventCode": "3D058",
    "EventName": "PM_SCALAR_FSQRT_FDIV_ISSUE",
    "BriefDescription": "Scalar versions of four floating point operations: fdiv,fsqrt (xvdivdp, xvdivsp, xvsqrtdp, xvsqrtsp)."
  },
  {
    "EventCode": "30066",
    "EventName": "PM_LSU_FIN",
    "BriefDescription": "LSU Finished an internal operation (up to 4 per cycle)."
  },
  {
    "EventCode": "40004",
    "EventName": "PM_FXU_ISSUE",
    "BriefDescription": "A fixed point instruction was issued to the VSU."
  },
  {
    "EventCode": "40008",
    "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": "40010",
    "EventName": "PM_PMC3_OVERFLOW",
    "BriefDescription": "The event selected for PMC3 caused the event counter to overflow."
  },
  {
    "EventCode": "4C012",
    "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": "4C018",
    "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": "4C01E",
    "EventName": "PM_LSU_ST3_FIN",
    "BriefDescription": "LSU Finished an internal operation in ST3 port."
  },
  {
    "EventCode": "4D018",
    "EventName": "PM_EXEC_STALL_BRU",
    "BriefDescription": "Cycles in which the oldest instruction in the pipeline was executing in the Branch unit."
  },
  {
    "EventCode": "4D01A",
    "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": "4D01C",
    "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": "4E012",
    "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 NTF finishes and completions came too close together."
  },
  {
    "EventCode": "4D020",
    "EventName": "PM_VSU3_ISSUE",
    "BriefDescription": "VSU instruction was issued to VSU pipe 3."
  },
  {
    "EventCode": "40132",
    "EventName": "PM_MRK_LSU_FIN",
    "BriefDescription": "LSU marked instruction finish."
  },
  {
    "EventCode": "45058",
    "EventName": "PM_IC_MISS_CMPL",
    "BriefDescription": "Non-speculative icache miss, counted at completion."
  },
  {
    "EventCode": "4D050",
    "EventName": "PM_VSU_NON_FLOP_CMPL",
    "BriefDescription": "Non-floating point VSU instructions completed."
  },
  {
    "EventCode": "4D052",
    "EventName": "PM_2FLOP_CMPL",
    "BriefDescription": "Double Precision vector version of fmul, fsub, fcmp, fsel, fabs, fnabs, fres, fsqrte, fneg completed."
  },
  {
    "EventCode": "400F2",
    "EventName": "PM_1PLUS_PPC_DISP",
    "BriefDescription": "Cycles at least one Instr Dispatched."
  },
  {
    "EventCode": "400F8",
    "EventName": "PM_FLUSH",
    "BriefDescription": "Flush (any type)."
  }
]