generic_events.3cpc revision c10c16dec587a0662068f6e2991c29ed3a9db943
te
Copyright (c) 2005 Innovative Computing Labs Computer Science Department, University of Tennessee, Knoxville, TN. All Rights Reserved.
Redistribution and use in source and binary forms, with or without modification, are permitted provided that the following conditions are met: * Redistributions of source code must retain the above copyright notice, this list of conditions and the following disclaimer.
* Redistributions in binary form must reproduce the above copyright notice, this list of conditions and the following disclaimer in the documentation and/or other materials provided with the distribution. * Neither the name of the University of Tennessee nor the names of its contributors
may be used to endorse or promote products derived from this software without specific prior written permission. THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY
AND FITNESS FOR A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT OWNER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA,
OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. This open source software
license conforms to the BSD License template.
Portions Copyright (c) 2008, Sun Microsystems Inc. All Rights Reserved.
generic_events 3CPC "8 Oct 2008" "SunOS 5.11" "CPU Performance Counters Library Functions"
NAME
generic_events - generic performance counter events
DESCRIPTION

The Solaris cpc(3CPC) subsystem implements a number of predefined, generic performance counter events. Each generic event maps onto a single platform specific event and one or more optional attributes. Each hardware platform only need support a subset of the total set of generic events.

The defined generic events are:

PAPI_br_cn

Conditional branch instructions

PAPI_br_ins

Branch instructions taken

PAPI_br_msp

Conditional branch instructions mispredicted

PAPI_br_ntk

Conditional branch instructions not taken

PAPI_br_prc

Conditional branch instructions correctly predicted

PAPI_br_ucn

Unconditional branch instructions

PAPI_bru_idl

Cycles branch units are idle

PAPI_btac_m

Branch target address cache misses

PAPI_ca_cln

Requests for exclusive access to clean cache line

PAPI_ca_inv

Requests for cache invalidation

PAPI_ca_itv

Requests for cache line intervention

PAPI_ca_shr

Request for exclusive access to shared cache line

PAPI_ca_snp

Request for cache snoop

PAPI_csr_fal

Failed conditional store instructions

PAPI_csr_suc

Successful conditional store instructions

PAPI_csr_tot

Total conditional store instructions

PAPI_fad_ins

Floating point add instructions

PAPI_fdv_ins

Floating point divide instructions

PAPI_fma_ins

Floating point multiply and add instructions

PAPI_fml_ins

Floating point multiply instructions

PAPI_fnv_ins

Floating point inverse instructions

PAPI_fp_ops

Floating point operations

PAPI_fp_stal

Cycles the floating point unit stalled

PAPI_fpu_idl

Cycles the floating point units are idle

PAPI_fsq_ins

Floating point sqrt instructions

PAPI_ful_ccy

Cycles with maximum instructions completed

PAPI_ful_icy

Cycles with maximum instruction issue

PAPI_fxu_idl

Cycles when units are idle

PAPI_hw_int

Hardware interrupts

PAPI_int_ins

Integer instructions

PAPI_tot_cyc

Total cycles

PAPI_tot_iis

Instructions issued

PAPI_tot_ins

Instructions completed

PAPI_vec_ins

VectorSIMD instructions

PAPI_l1_dca

Level 1 data cache accesses

PAPI_l1_dch

Level 1 data cache hits

PAPI_l1_dcm

Level 1 data cache misses

PAPI_l1_dcr

Level 1 data cache reads

PAPI_l1_dcw

Level 1 data cache writes

PAPI_l1_ica

Level 1 instruction cache accesses

PAPI_l1_ich

Level 1 instruction cache hits

PAPI_l1_icm

Level 1 instruction cache misses

PAPI_l1_icr

Level 1 instruction cache reads

PAPI_l1_icw

Level 1 instruction cache writes

PAPI_l1_ldm

Level 1 cache load misses

PAPI_l1_stm

Level 1 cache store misses

PAPI_l1_tca

Level 1 cache accesses

PAPI_l1_tch

Level 1 cache hits

PAPI_l1_tcm

Level 1 cache misses

PAPI_l1_tcr

Level 1 cache reads

PAPI_l1_tcw

Level 1 cache writes

PAPI_l2_dca

Level 2 data cache accesses

PAPI_l2_dch

Level 2 data cache hits

PAPI_l2_dcm

Level 2 data cache misses

PAPI_l2_dcr

Level 2 data cache reads

PAPI_l2_dcw

Level 2 data cache writes

PAPI_l2_ica

Level 2 instruction cache accesses

PAPI_l2_ich

Level 2 instruction cache hits

PAPI_l2_icm

Level 2 instruction cache misses

PAPI_l2_icr

Level 2 instruction cache reads

PAPI_l2_icw

Level 2 instruction cache writes

PAPI_l2_ldm

Level 2 cache load misses

PAPI_l2_stm

Level 2 cache store misses

PAPI_l2_tca

Level 2 cache accesses

PAPI_l2_tch

Level 2 cache hits

PAPI_l2_tcm

Level 2 cache misses

PAPI_l2_tcr

Level 2 cache reads

PAPI_l2_tcw

Level 2 cache writes

PAPI_l3_dca

Level 3 data cache accesses

PAPI_l3_dch

Level 3 data cache hits

PAPI_l3_dcm

Level 3 data cache misses

PAPI_l3_dcr

Level 3 data cache reads

PAPI_l3_dcw

Level 3 data cache writes

PAPI_l3_ica

Level 3 instruction cache accesses

PAPI_l3_ich

Level 3 instruction cache hits

PAPI_l3_icm

Level 3 instruction cache misses

PAPI_l3_icr

Level 3 instruction cache reads

PAPI_l3_icw

Level 3 instruction cache writes

PAPI_l3_ldm

Level 3 cache load misses

PAPI_l3_stm

Level 3 cache store misses

PAPI_l3_tca

Level 3 cache accesses

PAPI_l3_tch

Level 3 cache hits

PAPI_l3_tcm

Level 3 cache misses

PAPI_l3_tcr

Level 3 cache reads

PAPI_l3_tcw

Level 3 cache writes

PAPI_ld_ins

Load Instructions

PAPI_lst_ins

Loadstore Instructions

PAPI_lsu_idl

Cycles load store units are idle

PAPI_mem_rcy

Cycles stalled waiting for memory reads

PAPI_mem_scy

Cycles stalled waiting for memory accesses

PAPI_mem_wcy

Cycles stalled waiting for memory writes

PAPI_prf_dm

Data prefetch cache misses

PAPI_res_stl

Cycles stalled on any resource

PAPI_sr_ins

Store Instructions

PAPI_stl_ccy

Cycles with no instructions completed

PAPI_syc_ins

Synchronization instructions completed

PAPI_tlb_dm

Data TLB misses

PAPI_tlb_im

Instruction TLB misses

PAPI_tlb_sd

TLB shootdowns

PAPI_tlb_tl

Total TLB misses

The tables below define mappings of generic events to platform events and any associated attribute for all supported platforms.

"AMD Opteron Family 0xF Processor"
Generic EventPlatform EventUnit Mask
PAPI_br_insFR_retired_branches_w_excp_intr0x0
PAPI_br_mspFR_retired_branches_mispred0x0
PAPI_br_tknFR_retired_taken_branches0x0
PAPI_fp_opsFP_dispatched_fpu_ops0x3
PAPI_fad_insFP_dispatched_fpu_ops0x1
PAPI_fml_insFP_dispatched_fpu_ops0x2
PAPI_fpu_idlFP_cycles_no_fpu_ops_retired0x0
PAPI_tot_cycBU_cpu_clk_unhalted0x0
PAPI_tot_insFR_retired_x86_instr_w_excp_intr0x0
PAPI_l1_dcaDC_access0x0
PAPI_l1_dcmDC_miss0x0
PAPI_l1_ldmDC_refill_from_L20xe
PAPI_l1_stmDC_refill_from_L20x10
PAPI_l1_icaIC_fetch0x0
PAPI_l1_icmIC_miss0x0
PAPI_l1_icrIC_fetch0x0
PAPI_l2_dchDC_refill_from_L20x1e
PAPI_l2_dcmDC_refill_from_system0x1e
PAPI_l2_dcrDC_refill_from_L20xe
PAPI_l2_dcwDC_refill_from_L20x10
PAPI_l2_ichIC_refill_from_L20x0
PAPI_l2_icmIC_refill_from_system0x0
PAPI_l2_ldmDC_refill_from_system0xe
PAPI_l2_stmDC_refill_from_system0x10
PAPI_res_stlFR_dispatch_stalls0x0
PAPI_stl_icyFR_nothing_to_dispatch0x0
PAPI_hw_intFR_taken_hardware_intrs0x0
PAPI_tlb_dmDC_dtlb_L1_miss_L2_miss0x0
PAPI_tlb_imIC_itlb_L1_miss_L2_miss0x0
PAPI_fp_insFR_retired_fpu_instr0xd
PAPI_vec_insFR_retired_fpu_instr0x4
"AMD Opteron Family 0x10 Processors"
Generic EventPlatform EventEvent Mask
PAPI_br_insFR_retired_branches_w_excp_intr0x0
PAPI_br_mspFR_retired_branches_mispred0x0
PAPI_br_tknFR_retired_taken_branches0x0
PAPI_fp_opsFP_dispatched_fpu_ops0x3
PAPI_fad_insFP_dispatched_fpu_ops0x1
PAPI_fml_insFP_dispatched_fpu_ops0x2
PAPI_fpu_idlFP_cycles_no_fpu_ops_retired0x0
PAPI_tot_cycBU_cpu_clk_unhalted0x0
PAPI_tot_insFR_retired_x86_instr_w_excp_intr0x0
PAPI_l1_dcaDC_access0x0
PAPI_l1_dcmDC_miss0x0
PAPI_l1_ldmDC_refill_from_L20xe
PAPI_l1_stmDC_refill_from_L20x10
PAPI_l1_icaIC_fetch0x0
PAPI_l1_icmIC_miss0x0
PAPI_l1_icrIC_fetch0x0
PAPI_l2_dchDC_refill_from_L20x1e
PAPI_l2_dcmDC_refill_from_system0x1e
PAPI_l2_dcrDC_refill_from_L20xe
PAPI_l2_dcwDC_refill_from_L20x10
PAPI_l2_ichIC_refill_from_L20x0
PAPI_l2_icmIC_refill_from_system0x0
PAPI_l2_ldmDC_refill_from_system0xe
PAPI_l2_stmDC_refill_from_system0x10
PAPI_res_stlFR_dispatch_stalls0x0
PAPI_stl_icyFR_nothing_to_dispatch0x0
PAPI_hw_intFR_taken_hardware_intrs0x0
PAPI_tlb_dmDC_dtlb_L1_miss_L2_miss0x7
PAPI_tlb_imIC_itlb_L1_miss_L2_miss0x3
PAPI_fp_insFR_retired_fpu_instr0xd
PAPI_vec_insFR_retired_fpu_instr0x4
PAPI_l3_dcrL3_read_req0xf1
PAPI_l3_icrL3_read_req0xf2
PAPI_l3_tcrL3_read_req0xf7
PAPI_l3_stmL3_miss0xf4
PAPI_l3_ldmL3_miss0xf3
PAPI_l3_tcmL3_miss0xf7
"Intel Pentium IV Processor"
Generic EventPlatform EventEvent Mask
PAPI_br_mspbranch_retired0xa
PAPI_br_insbranch_retired0xf
PAPI_br_tknbranch_retired0xc
PAPI_br_ntkbranch_retired0x3
PAPI_br_prcbranch_retired0x5
PAPI_tot_insinstr_retired0x3
PAPI_tot_cycglobal_power_events0x1
PAPI_tlb_dmpage_walk_type0x1
PAPI_tlb_impage_walk_type0x2
PAPI_tlb_tmpage_walk_type0x3
PAPI_l2_ldmBSQ_cache_reference0x100
PAPI_l2_stmBSQ_cache_reference0x400
PAPI_l2_tcmBSQ_cache_reference0x500
"Intel Pentium Pro/II/III Processor"
Generic EventPlatform EventEvent Mask
PAPI_ca_shrl2_ifetch0xf
PAPI_ca_clnbus_tran_rfo0x0
PAPI_ca_itvbus_tran_inval0x0
PAPI_tlb_imitlb_miss0x0
PAPI_btac_mbtb_misses0x0
PAPI_hw_inthw_int_rx0x0
PAPI_br_cnbr_inst_retired0x0
PAPI_br_tknbr_taken_retired0x0
PAPI_br_mspbr_miss_pred_taken_ret0x0
PAPI_br_insbr_inst_retired0x0
PAPI_res_stlresource_stalls0x0
PAPI_tot_iisinst_decoder0x0
PAPI_tot_insinst_retired0x0
PAPI_tot_cyccpu_clk_unhalted0x0
PAPI_l1_dcmdcu_lines_in0x0
PAPI_l1_icml2_ifetch0xf
PAPI_l1_tcml2_rqsts0xf
PAPI_l1_dcadata_mem_refs0x0
PAPI_l1_ldml2_ld0xf
PAPI_l1_stml2_st0xf
PAPI_l2_icmbus_tran_ifetch0x0
PAPI_l2_dcrl2_ld0xf
PAPI_l2_dcwl2_st0xf
PAPI_l2_tcml2_lines_in0x0
PAPI_l2_tcal2_rqsts0xf
PAPI_l2_tcwl2_st0xf
PAPI_l2_stml2_m_lines_inm0x0
PAPI_fp_insflops0x0
PAPI_fp_opsflops0x0
PAPI_fml_insmul0x0
PAPI_fdv_insdiv0x0
"UltraSPARC I/II Processor"
Generic EventPlatform Event
PAPI_tot_cycCycle_cnt
PAPI_tot_insInstr_cnt
PAPI_tot_iisInstr_cnt
PAPI_l1_dcrDC_rd
PAPI_l1_dcwDC_wr
PAPI_l1_icaIC_ref
PAPI_l1_ichIC_hit
PAPI_l2_tcaEC_ref
PAPI_l2_dchEC_rd_hit
PAPI_l2_tchEC_hit
PAPI_l2_ichEC_ic_hit
PAPI_ca_invEC_snoop_inv
PAPI_br_mspDispatch0_mispred
PAPI_ca_snpEC_snoop_cb
"UltraSPARC III/IIIi/IV Processor"
Generic EventPlatform Event
PAPI_tot_cycCycle_cnt
PAPI_tot_insInstr_cnt
PAPI_tot_iisInstr_cnt
PAPI_fma_insFA_pipe_completion
PAPI_fml_insFM_pipe_completion
PAPI_l1_dcrDC_rd
PAPI_l1_dcwDC_wr
PAPI_l1_icaIC_ref
PAPI_l1_icmIC_miss
PAPI_l2_tcaEC_ref
PAPI_l2_ldmEC_rd_miss
PAPI_l2_tcmEC_misses
PAPI_l2_icmEC_ic_miss
PAPI_tlb_dmDTLB_miss
PAPI_tlb_imITLB_miss
PAPI_br_ntkIU_Stat_Br_count_untaken
PAPI_br_mspDispatch0_mispred
PAPI_br_tknIU_Stat_Br_count_taken
PAPI_ca_invEC_snoop_inv
PAPI_ca_snpEC_snoop_cb
"UltraSPARC IV+ Processor"
Generic EventPlatform Event
PAPI_tot_cycCycle_cnt
PAPI_tot_insInstr_cnt
PAPI_tot_iisInstr_cnt
PAPI_fma_insFA_pipe_completion
PAPI_fml_insFM_pipe_completion
PAPI_l1_dcrDC_rd
PAPI_l1_stmDC_wr_miss
PAPI_l1_icaIC_ref
PAPI_l1_icmIC_L2_req
PAPI_l1_ldmDC_rd_miss
PAPI_l1_dcwDC_wr
PAPI_l2_tcaL2_ref
PAPI_l2_ldmL2_rd_miss
PAPI_l2_icmL2_IC_miss
PAPI_l2_stmL2_write_miss
PAPI_l2_tcmL2_miss
PAPI_l3_tcmL3_miss
PAPI_l3_icmL3_IC_miss
PAPI_l3_ldmL3_rd_miss
PAPI_tlb_imITLB_miss
PAPI_tlb_dmDTLB_miss
PAPI_br_tknIU_stat_br_count_taken
PAPI_br_ntkIU_stat_br_count_untaken
"Niagara T1 Processor"
Generic EventPlatform Event
PAPI_tot_cycCycle_cnt
PAPI_l2_icmL2_imiss
PAPI_l2_ldmL2_dmiss_ld
PAPI_fp_opsFP_instr_cnt
PAPI_l1_icmIC_miss
PAPI_l1_dcmDC_miss
PAPI_tlb_imITLB_miss
PAPI_tlb_dmDTLB_miss
"Niagara T2 Processor"
Generic EventPlatform Event
PAPI_tot_insInstr_cnt
PAPI_l1_dcmDC_miss
PAPI_l1_icmIC_miss
PAPI_l2_icmL2_imiss
PAPI_l2_ldmL2_dmiss_ld
PAPI_tlb_dmDTLB_miss
PAPI_tlb_imITLB_miss
PAPI_tlb_tmTLB_miss
PAPI_br_tknBr_taken
PAPI_br_insBr_completed
PAPI_ld_insInstr_ld
PAPI_sr_insInstr_st
"SPARC64 VI/VII Processor"
Generic EventPlatform Event
PAPI_tot_cyccycle_counts
PAPI_tot_insinstruction_counts
PAPI_br_tknbranch_instructions
PAPI_fp_opsfloating_instructions
PAPI_fma_insimpdep2_instructions
PAPI_l1_dcmop_r_iu_req_mi_go
PAPI_l1_icmif_r_iu_req_mi_go
PAPI_tlb_dmtrap_DMMU_miss
PAPI_tlb_imtrap_IMMU_miss
ATTRIBUTES

See attributes(5) for descriptions of the following attributes:

ATTRIBUTE TYPEATTRIBUTE VALUE
Interface StabilityVolatile
SEE ALSO

cpc(3CPC), attributes(5)

NOTES

Generic names prefixed with "PAPI_" are taken from the University of Tennessee's PAPI project, http://icl.cs.utk.edu/papi.