1generic_events(3CPCC)PU Performance Counters Library Functiongseneric_events(3CPC)
2
3
4
6 generic_events - generic performance counter events
7
9 The Solaris cpc(3CPC) subsystem implements a number of predefined,
10 generic performance counter events. Each generic event maps onto a sin‐
11 gle platform specific event and one or more optional attributes. Each
12 hardware platform only need support a subset of the total set of
13 generic events.
14
15
16 The defined generic events are:
17
18 PAPI_br_cn Conditional branch instructions
19
20
21 PAPI_br_ins Branch instructions taken
22
23
24 PAPI_br_msp Conditional branch instructions mispredicted
25
26
27 PAPI_br_ntk Conditional branch instructions not taken
28
29
30 PAPI_br_prc Conditional branch instructions correctly predicted
31
32
33 PAPI_br_ucn Unconditional branch instructions
34
35
36 PAPI_bru_idl Cycles branch units are idle
37
38
39 PAPI_btac_m Branch target address cache misses
40
41
42 PAPI_ca_cln Requests for exclusive access to clean cache line
43
44
45 PAPI_ca_inv Requests for cache invalidation
46
47
48 PAPI_ca_itv Requests for cache line intervention
49
50
51 PAPI_ca_shr Request for exclusive access to shared cache line
52
53
54 PAPI_ca_snp Request for cache snoop
55
56
57 PAPI_csr_fal Failed conditional store instructions
58
59
60 PAPI_csr_suc Successful conditional store instructions
61
62
63 PAPI_csr_tot Total conditional store instructions
64
65
66 PAPI_fad_ins Floating point add instructions
67
68
69 PAPI_fdv_ins Floating point divide instructions
70
71
72 PAPI_fma_ins Floating point multiply and add instructions
73
74
75 PAPI_fml_ins Floating point multiply instructions
76
77
78 PAPI_fnv_ins Floating point inverse instructions
79
80
81 PAPI_fp_ops Floating point operations
82
83
84 PAPI_fp_stal Cycles the floating point unit stalled
85
86
87 PAPI_fpu_idl Cycles the floating point units are idle
88
89
90 PAPI_fsq_ins Floating point sqrt instructions
91
92
93 PAPI_ful_ccy Cycles with maximum instructions completed
94
95
96 PAPI_ful_icy Cycles with maximum instruction issue
97
98
99 PAPI_fxu_idl Cycles when units are idle
100
101
102 PAPI_hw_int Hardware interrupts
103
104
105 PAPI_int_ins Integer instructions
106
107
108 PAPI_tot_cyc Total cycles
109
110
111 PAPI_tot_iis Instructions issued
112
113
114 PAPI_tot_ins Instructions completed
115
116
117 PAPI_vec_ins VectorSIMD instructions
118
119
120 PAPI_l1_dca Level 1 data cache accesses
121
122
123 PAPI_l1_dch Level 1 data cache hits
124
125
126 PAPI_l1_dcm Level 1 data cache misses
127
128
129 PAPI_l1_dcr Level 1 data cache reads
130
131
132 PAPI_l1_dcw Level 1 data cache writes
133
134
135 PAPI_l1_ica Level 1 instruction cache accesses
136
137
138 PAPI_l1_ich Level 1 instruction cache hits
139
140
141 PAPI_l1_icm Level 1 instruction cache misses
142
143
144 PAPI_l1_icr Level 1 instruction cache reads
145
146
147 PAPI_l1_icw Level 1 instruction cache writes
148
149
150 PAPI_l1_ldm Level 1 cache load misses
151
152
153 PAPI_l1_stm Level 1 cache store misses
154
155
156 PAPI_l1_tca Level 1 cache accesses
157
158
159 PAPI_l1_tch Level 1 cache hits
160
161
162 PAPI_l1_tcm Level 1 cache misses
163
164
165 PAPI_l1_tcr Level 1 cache reads
166
167
168 PAPI_l1_tcw Level 1 cache writes
169
170
171 PAPI_l2_dca Level 2 data cache accesses
172
173
174 PAPI_l2_dch Level 2 data cache hits
175
176
177 PAPI_l2_dcm Level 2 data cache misses
178
179
180 PAPI_l2_dcr Level 2 data cache reads
181
182
183 PAPI_l2_dcw Level 2 data cache writes
184
185
186 PAPI_l2_ica Level 2 instruction cache accesses
187
188
189 PAPI_l2_ich Level 2 instruction cache hits
190
191
192 PAPI_l2_icm Level 2 instruction cache misses
193
194
195 PAPI_l2_icr Level 2 instruction cache reads
196
197
198 PAPI_l2_icw Level 2 instruction cache writes
199
200
201 PAPI_l2_ldm Level 2 cache load misses
202
203
204 PAPI_l2_stm Level 2 cache store misses
205
206
207 PAPI_l2_tca Level 2 cache accesses
208
209
210 PAPI_l2_tch Level 2 cache hits
211
212
213 PAPI_l2_tcm Level 2 cache misses
214
215
216 PAPI_l2_tcr Level 2 cache reads
217
218
219 PAPI_l2_tcw Level 2 cache writes
220
221
222 PAPI_l3_dca Level 3 data cache accesses
223
224
225 PAPI_l3_dch Level 3 data cache hits
226
227
228 PAPI_l3_dcm Level 3 data cache misses
229
230
231 PAPI_l3_dcr Level 3 data cache reads
232
233
234 PAPI_l3_dcw Level 3 data cache writes
235
236
237 PAPI_l3_ica Level 3 instruction cache accesses
238
239
240 PAPI_l3_ich Level 3 instruction cache hits
241
242
243 PAPI_l3_icm Level 3 instruction cache misses
244
245
246 PAPI_l3_icr Level 3 instruction cache reads
247
248
249 PAPI_l3_icw Level 3 instruction cache writes
250
251
252 PAPI_l3_ldm Level 3 cache load misses
253
254
255 PAPI_l3_stm Level 3 cache store misses
256
257
258 PAPI_l3_tca Level 3 cache accesses
259
260
261 PAPI_l3_tch Level 3 cache hits
262
263
264 PAPI_l3_tcm Level 3 cache misses
265
266
267 PAPI_l3_tcr Level 3 cache reads
268
269
270 PAPI_l3_tcw Level 3 cache writes
271
272
273 PAPI_ld_ins Load Instructions
274
275
276 PAPI_lst_ins Loadstore Instructions
277
278
279 PAPI_lsu_idl Cycles load store units are idle
280
281
282 PAPI_mem_rcy Cycles stalled waiting for memory reads
283
284
285 PAPI_mem_scy Cycles stalled waiting for memory accesses
286
287
288 PAPI_mem_wcy Cycles stalled waiting for memory writes
289
290
291 PAPI_prf_dm Data prefetch cache misses
292
293
294 PAPI_res_stl Cycles stalled on any resource
295
296
297 PAPI_sr_ins Store Instructions
298
299
300 PAPI_stl_ccy Cycles with no instructions completed
301
302
303 PAPI_syc_ins Synchronization instructions completed
304
305
306 PAPI_tlb_dm Data TLB misses
307
308
309 PAPI_tlb_im Instruction TLB misses
310
311
312 PAPI_tlb_sd TLB shootdowns
313
314
315 PAPI_tlb_tl Total TLB misses
316
317
318
319 The tables below define mappings of generic events to platform events
320 and any associated attribute for all supported platforms.
321
322 AMD Opteron Family 0xF Processor
323 Generic Event Platform Event Unit Mask
324 ───────────────────────────────────────────────────────────────────────
325 PAPI_br_ins FR_retired_branches_w_excp_intr 0x0
326 PAPI_br_msp FR_retired_branches_mispred 0x0
327 PAPI_br_tkn FR_retired_taken_branches 0x0
328 PAPI_fp_ops FP_dispatched_fpu_ops 0x3
329 PAPI_fad_ins FP_dispatched_fpu_ops 0x1
330 PAPI_fml_ins FP_dispatched_fpu_ops 0x2
331 PAPI_fpu_idl FP_cycles_no_fpu_ops_retired 0x0
332 PAPI_tot_cyc BU_cpu_clk_unhalted 0x0
333 PAPI_tot_ins FR_retired_x86_instr_w_excp_intr 0x0
334 PAPI_l1_dca DC_access 0x0
335 PAPI_l1_dcm DC_miss 0x0
336 PAPI_l1_ldm DC_refill_from_L2 0xe
337 PAPI_l1_stm DC_refill_from_L2 0x10
338 PAPI_l1_ica IC_fetch 0x0
339 PAPI_l1_icm IC_miss 0x0
340 PAPI_l1_icr IC_fetch 0x0
341 PAPI_l2_dch DC_refill_from_L2 0x1e
342 PAPI_l2_dcm DC_refill_from_system 0x1e
343 PAPI_l2_dcr DC_refill_from_L2 0xe
344
345 PAPI_l2_dcw DC_refill_from_L2 0x10
346 PAPI_l2_ich IC_refill_from_L2 0x0
347 PAPI_l2_icm IC_refill_from_system 0x0
348 PAPI_l2_ldm DC_refill_from_system 0xe
349 PAPI_l2_stm DC_refill_from_system 0x10
350 PAPI_res_stl FR_dispatch_stalls 0x0
351 PAPI_stl_icy FR_nothing_to_dispatch 0x0
352 PAPI_hw_int FR_taken_hardware_intrs 0x0
353 PAPI_tlb_dm DC_dtlb_L1_miss_L2_miss 0x0
354 PAPI_tlb_im IC_itlb_L1_miss_L2_miss 0x0
355 PAPI_fp_ins FR_retired_fpu_instr 0xd
356 PAPI_vec_ins FR_retired_fpu_instr 0x4
357
358
359 AMD Opteron Family 0x10 Processors
360 Generic Event Platform Event Event Mask
361 ───────────────────────────────────────────────────────────────────────
362 PAPI_br_ins FR_retired_branches_w_excp_intr 0x0
363 PAPI_br_msp FR_retired_branches_mispred 0x0
364 PAPI_br_tkn FR_retired_taken_branches 0x0
365 PAPI_fp_ops FP_dispatched_fpu_ops 0x3
366 PAPI_fad_ins FP_dispatched_fpu_ops 0x1
367 PAPI_fml_ins FP_dispatched_fpu_ops 0x2
368 PAPI_fpu_idl FP_cycles_no_fpu_ops_retired 0x0
369 PAPI_tot_cyc BU_cpu_clk_unhalted 0x0
370 PAPI_tot_ins FR_retired_x86_instr_w_excp_intr 0x0
371 PAPI_l1_dca DC_access 0x0
372 PAPI_l1_dcm DC_miss 0x0
373 PAPI_l1_ldm DC_refill_from_L2 0xe
374 PAPI_l1_stm DC_refill_from_L2 0x10
375 PAPI_l1_ica IC_fetch 0x0
376 PAPI_l1_icm IC_miss 0x0
377 PAPI_l1_icr IC_fetch 0x0
378 PAPI_l2_dch DC_refill_from_L2 0x1e
379 PAPI_l2_dcm DC_refill_from_system 0x1e
380 PAPI_l2_dcr DC_refill_from_L2 0xe
381 PAPI_l2_dcw DC_refill_from_L2 0x10
382 PAPI_l2_ich IC_refill_from_L2 0x0
383 PAPI_l2_icm IC_refill_from_system 0x0
384 PAPI_l2_ldm DC_refill_from_system 0xe
385 PAPI_l2_stm DC_refill_from_system 0x10
386 PAPI_res_stl FR_dispatch_stalls 0x0
387 PAPI_stl_icy FR_nothing_to_dispatch 0x0
388 PAPI_hw_int FR_taken_hardware_intrs 0x0
389 PAPI_tlb_dm DC_dtlb_L1_miss_L2_miss 0x7
390 PAPI_tlb_im IC_itlb_L1_miss_L2_miss 0x3
391 PAPI_fp_ins FR_retired_fpu_instr 0xd
392 PAPI_vec_ins FR_retired_fpu_instr 0x4
393 PAPI_l3_dcr L3_read_req 0xf1
394 PAPI_l3_icr L3_read_req 0xf2
395 PAPI_l3_tcr L3_read_req 0xf7
396 PAPI_l3_stm L3_miss 0xf4
397 PAPI_l3_ldm L3_miss 0xf3
398 PAPI_l3_tcm L3_miss 0xf7
399
400
401 Intel Pentium IV Processor
402 Generic Event Platform Event Event Mask
403 ──────────────────────────────────────────────────────────────
404 PAPI_br_msp branch_retired 0xa
405 PAPI_br_ins branch_retired 0xf
406 PAPI_br_tkn branch_retired 0xc
407 PAPI_br_ntk branch_retired 0x3
408 PAPI_br_prc branch_retired 0x5
409 PAPI_tot_ins instr_retired 0x3
410 PAPI_tot_cyc global_power_events 0x1
411 PAPI_tlb_dm page_walk_type 0x1
412 PAPI_tlb_im page_walk_type 0x2
413
414 PAPI_tlb_tm page_walk_type 0x3
415 PAPI_l2_ldm BSQ_cache_reference 0x100
416 PAPI_l2_stm BSQ_cache_reference 0x400
417 PAPI_l2_tcm BSQ_cache_reference 0x500
418
419
420 Intel Pentium Pro/II/III Processor
421 Generic Event Platform Event Event Mask
422 ──────────────────────────────────────────────────────────────
423 PAPI_ca_shr l2_ifetch 0xf
424 PAPI_ca_cln bus_tran_rfo 0x0
425 PAPI_ca_itv bus_tran_inval 0x0
426 PAPI_tlb_im itlb_miss 0x0
427 PAPI_btac_m btb_misses 0x0
428 PAPI_hw_int hw_int_rx 0x0
429 PAPI_br_cn br_inst_retired 0x0
430 PAPI_br_tkn br_taken_retired 0x0
431 PAPI_br_msp br_miss_pred_taken_ret 0x0
432 PAPI_br_ins br_inst_retired 0x0
433 PAPI_res_stl resource_stalls 0x0
434 PAPI_tot_iis inst_decoder 0x0
435 PAPI_tot_ins inst_retired 0x0
436 PAPI_tot_cyc cpu_clk_unhalted 0x0
437 PAPI_l1_dcm dcu_lines_in 0x0
438 PAPI_l1_icm l2_ifetch 0xf
439 PAPI_l1_tcm l2_rqsts 0xf
440 PAPI_l1_dca data_mem_refs 0x0
441 PAPI_l1_ldm l2_ld 0xf
442 PAPI_l1_stm l2_st 0xf
443 PAPI_l2_icm bus_tran_ifetch 0x0
444 PAPI_l2_dcr l2_ld 0xf
445 PAPI_l2_dcw l2_st 0xf
446 PAPI_l2_tcm l2_lines_in 0x0
447 PAPI_l2_tca l2_rqsts 0xf
448 PAPI_l2_tcw l2_st 0xf
449 PAPI_l2_stm l2_m_lines_inm 0x0
450 PAPI_fp_ins flops 0x0
451 PAPI_fp_ops flops 0x0
452 PAPI_fml_ins mul 0x0
453 PAPI_fdv_ins div 0x0
454
455
456 UltraSPARC I/II Processor
457 Generic Event Platform Event
458 ───────────────────────────────────────────────────────────
459 PAPI_tot_cyc Cycle_cnt
460 PAPI_tot_ins Instr_cnt
461 PAPI_tot_iis Instr_cnt
462 PAPI_l1_dcr DC_rd
463 PAPI_l1_dcw DC_wr
464 PAPI_l1_ica IC_ref
465 PAPI_l1_ich IC_hit
466 PAPI_l2_tca EC_ref
467 PAPI_l2_dch EC_rd_hit
468 PAPI_l2_tch EC_hit
469 PAPI_l2_ich EC_ic_hit
470 PAPI_ca_inv EC_snoop_inv
471 PAPI_br_msp Dispatch0_mispred
472 PAPI_ca_snp EC_snoop_cb
473
474
475 UltraSPARC III/IIIi/IV Processor
476 Generic Event Platform Event
477 ───────────────────────────────────────────────────────────
478 PAPI_tot_cyc Cycle_cnt
479 PAPI_tot_ins Instr_cnt
480 PAPI_tot_iis Instr_cnt
481 PAPI_fma_ins FA_pipe_completion
482
483 PAPI_fml_ins FM_pipe_completion
484 PAPI_l1_dcr DC_rd
485 PAPI_l1_dcw DC_wr
486 PAPI_l1_ica IC_ref
487 PAPI_l1_icm IC_miss
488 PAPI_l2_tca EC_ref
489 PAPI_l2_ldm EC_rd_miss
490 PAPI_l2_tcm EC_misses
491 PAPI_l2_icm EC_ic_miss
492 PAPI_tlb_dm DTLB_miss
493 PAPI_tlb_im ITLB_miss
494 PAPI_br_ntk IU_Stat_Br_count_untaken
495 PAPI_br_msp Dispatch0_mispred
496 PAPI_br_tkn IU_Stat_Br_count_taken
497 PAPI_ca_inv EC_snoop_inv
498 PAPI_ca_snp EC_snoop_cb
499
500
501 UltraSPARC IV+ Processor
502 Generic Event Platform Event
503 ───────────────────────────────────────────────────────────
504 PAPI_tot_cyc Cycle_cnt
505 PAPI_tot_ins Instr_cnt
506 PAPI_tot_iis Instr_cnt
507 PAPI_fma_ins FA_pipe_completion
508 PAPI_fml_ins FM_pipe_completion
509 PAPI_l1_dcr DC_rd
510 PAPI_l1_stm DC_wr_miss
511 PAPI_l1_ica IC_ref
512 PAPI_l1_icm IC_L2_req
513 PAPI_l1_ldm DC_rd_miss
514 PAPI_l1_dcw DC_wr
515 PAPI_l2_tca L2_ref
516 PAPI_l2_ldm L2_rd_miss
517 PAPI_l2_icm L2_IC_miss
518 PAPI_l2_stm L2_write_miss
519 PAPI_l2_tcm L2_miss
520 PAPI_l3_tcm L3_miss
521 PAPI_l3_icm L3_IC_miss
522 PAPI_l3_ldm L3_rd_miss
523 PAPI_tlb_im ITLB_miss
524 PAPI_tlb_dm DTLB_miss
525 PAPI_br_tkn IU_stat_br_count_taken
526 PAPI_br_ntk IU_stat_br_count_untaken
527
528
529 Niagara T1 Processor
530 Generic Event Platform Event
531 ───────────────────────────────────────────────────────────
532 PAPI_tot_cyc Cycle_cnt
533 PAPI_l2_icm L2_imiss
534 PAPI_l2_ldm L2_dmiss_ld
535 PAPI_fp_ops FP_instr_cnt
536 PAPI_l1_icm IC_miss
537 PAPI_l1_dcm DC_miss
538 PAPI_tlb_im ITLB_miss
539 PAPI_tlb_dm DTLB_miss
540
541
542 Niagara T2 Processor
543 Generic Event Platform Event
544 ───────────────────────────────────────────────────────────
545 PAPI_tot_ins Instr_cnt
546 PAPI_l1_dcm DC_miss
547 PAPI_l1_icm IC_miss
548 PAPI_l2_icm L2_imiss
549 PAPI_l2_ldm L2_dmiss_ld
550 PAPI_tlb_dm DTLB_miss
551
552 PAPI_tlb_im ITLB_miss
553 PAPI_tlb_tm TLB_miss
554 PAPI_br_tkn Br_taken
555 PAPI_br_ins Br_completed
556 PAPI_ld_ins Instr_ld
557 PAPI_sr_ins Instr_st
558
559
560 SPARC64 VI/VII Processor
561 Generic Event Platform Event
562 ───────────────────────────────────────────────────────────
563 PAPI_tot_cyc cycle_counts
564 PAPI_tot_ins instruction_counts
565 PAPI_br_tkn branch_instructions
566 PAPI_fp_ops floating_instructions
567 PAPI_fma_ins impdep2_instructions
568 PAPI_l1_dcm op_r_iu_req_mi_go
569 PAPI_l1_icm if_r_iu_req_mi_go
570 PAPI_tlb_dm trap_DMMU_miss
571 PAPI_tlb_im trap_IMMU_miss
572
573
575 See attributes(5) for descriptions of the following attributes:
576
577
578
579
580 ┌─────────────────────────────┬─────────────────────────────┐
581 │ ATTRIBUTE TYPE │ ATTRIBUTE VALUE │
582 ├─────────────────────────────┼─────────────────────────────┤
583 │Interface Stability │Volatile │
584 └─────────────────────────────┴─────────────────────────────┘
585
587 cpc(3CPC), attributes(5)
588
590 Generic names prefixed with "PAPI_" are taken from the University of
591 Tennessee's PAPI project, http://icl.cs.utk.edu/papi.
592
593
594
595SunOS 5.11 8 Oct 2008 generic_events(3CPC)