PAPI  5.0.1.0
map-core.c
Go to the documentation of this file.
00001 /****************************/
00002 /* THIS IS OPEN SOURCE CODE */
00003 /****************************/
00004 
00005 /* 
00006 * File:    map-core.c
00007 * Author:  Harald Servat
00008 *          redcrash@gmail.com
00009 */
00010 
00011 #include "freebsd.h"
00012 #include "papiStdEventDefs.h"
00013 #include "map.h"
00014 
00015 /****************************************************************************
00016  CORE SUBSTRATE 
00017  CORE SUBSTRATE 
00018  CORE SUBSTRATE
00019  CORE SUBSTRATE
00020  CORE SUBSTRATE
00021 ****************************************************************************/
00022 
00023 /*
00024         NativeEvent_Value_CoreProcessor must match CoreProcessor_info 
00025 */
00026 
00027 Native_Event_LabelDescription_t CoreProcessor_info[] =
00028 {
00029     {"BAClears", "The number of BAClear conditions asserted."},
00030     {"BTB_Misses", "The number of branches for which the branch table buffer did not produce a prediction."},
00031     {"Br_BAC_Missp_Exec", "The number of branch instructions executed that were mispredicted at the front end."},
00032     {"Br_Bogus", "The number of bogus branches."},
00033     {"Br_Call_Exec", "The number of CALL instructions executed."},
00034     {"Br_Call_Missp_Exec", "The number of CALL instructions executed that were mispredicted."},
00035     {"Br_Cnd_Exec", "The number of conditional branch instructions executed."},
00036     {"Br_Cnd_Missp_Exec", "The number of conditional branch instructions executed that were mispredicted."},
00037     {"Br_Ind_Call_Exec", "The number of indirect CALL instructions executed."},
00038     {"Br_Ind_Exec", "The number of indirect branches executed."},
00039     {"Br_Ind_Missp_Exec", "The number of indirect branch instructions executed that were mispredicted."},
00040     {"Br_Inst_Exec", "The number of branch instructions executed including speculative branches."},
00041     {"Br_Instr_Decoded", "The number of branch instructions decoded."},
00042     {"Br_Instr_Ret", "The number of branch instructions retired. This is an architectural performance event."},
00043     {"Br_MisPred_Ret", "The number of mispredicted branch instructions retired. This is an architectural performance event."},
00044     {"Br_MisPred_Taken_Ret", "The number of taken and mispredicted branches retired."},
00045     {"Br_Missp_Exec", "The number of branch instructions executed and mispredicted at execution including branches that were not predicted."},
00046     {"Br_Ret_BAC_Missp_Exec", "The number of return branch instructions that were mispredicted at the front end."},
00047     {"Br_Ret_Exec", "The number of return branch instructions executed."},
00048     {"Br_Ret_Missp_Exec", "The number of return branch instructions executed that were mispredicted."},
00049     {"Br_Taken_Ret", "The number of taken branches retired."},
00050     {"Bus_BNR_Clocks", "was asserted."},
00051     {"Bus_DRDY_Clocks", "The number of external bus cycles while DRDY was asserted."},
00052     {"Bus_Data_Rcv", "The number of cycles during which the processor is busy receiving data."},
00053     {"Bus_Locks_Clocks", "The number of external bus cycles while the bus lock signal was asserted."},
00054     {"Bus_Not_In_Use", "The number of cycles when there is no transaction from the core."},
00055     {"Bus_Req_Outstanding", "The weighted cycles of cacheable bus data read requests from the data cache unit or hardware prefetcher."},
00056     {"Bus_Snoop_Stall", "The number bus cycles while a bus snoop is stalled."},
00057     {"Bus_Snoops", "The number of snoop responses to bus transactions."},
00058     {"Bus_Trans_Any", "The number of completed bus transactions."},
00059     {"Bus_Trans_Brd", "The number of read bus transactions."},
00060     {"Bus_Trans_Burst", "The number of completed burst transactions.  Retried transactions may be counted more than once."},
00061     {"Bus_Trans_Def", "The number of completed deferred transactions."},
00062     {"Bus_Trans_IO", "The number of completed I/O transactions counting both reads and writes."},
00063     {"Bus_Trans_Ifetch", "Completed instruction fetch transactions."},
00064     {"Bus_Trans_Inval", "The number completed invalidate transactions."},
00065     {"Bus_Trans_Mem", "The number of completed memory transactions."},
00066     {"Bus_Trans_P", "The number of completed partial transactions."},
00067     {"Bus_Trans_Pwr", "The number of completed partial write transactions."},
00068     {"Bus_Trans_RFO", "The number of completed read-for-ownership transactions."},
00069     {"Bus_Trans_WB", "The number of completed writeback transactions from the data cache unit, excluding L2 writebacks."},
00070     {"Cycles_Div_Busy", "The number of cycles the divider is busy.  The event is only available on PMC0."},
00071     {"Cycles_Int_Masked", "The number of cycles while interrupts were disabled."},
00072     {"Cycles_Int_Pending_Masked", "The number of cycles while interrupts were disabled and interrupts were pending."},
00073     {"DCU_Snoop_To_Share", "The number of data cache unit snoops to L1 cache lines in the shared state."},
00074     {"DCache_Cache_Lock", "The number of cacheable locked read operations to invalid state."},
00075     {"DCache_Cache_LD", "The number of cacheable L1 data read operations."},
00076     {"DCache_Cache_ST", "The number cacheable L1 data write operations."},
00077     {"DCache_M_Evict", "The number of M state data cache lines that were evicted."},
00078     {"DCache_M_Repl", "The number of M state data cache lines that were allocated."},
00079     {"DCache_Pend_Miss", "The weighted cycles an L1 miss was outstanding."},
00080     {"DCache_Repl", "The number of data cache line replacements."},
00081     {"Data_Mem_Cache_Ref", "The number of cacheable read and write operations to L1 data cache."},
00082     {"Data_Mem_Ref", "The number of L1 data reads and writes, both cacheable and uncacheable."},
00083     {"Dbus_Busy", "The number of core cycles during which the data bus was busy."},
00084     {"Dbus_Busy_Rd", "The nunber of cycles during which the data bus was busy transferring data to a core."},
00085     {"Div", "The number of divide operations including speculative operations for integer and floating point divides. This event can only be counted on PMC1."},
00086     {"Dtlb_Miss", "The number of data references that missed the TLB."},
00087     {"ESP_Uops", "The number of ESP folding instructions decoded."},
00088     {"EST_Trans", "Count the number of Intel Enhanced SpeedStep transitions."},
00089     {"FP_Assist", "The number of floating point operations that required microcode assists.  The event is only available on PMC1."},
00090     {"FP_Comp_Instr_Ret", "The number of X87 floating point compute instructions retired.  The event is only available on PMC0."},
00091     {"FP_Comps_Op_Exe", "The number of floating point computational instructions executed."},
00092     {"FP_MMX_Trans", "The number of transitions from X87 to MMX."},
00093     {"Fused_Ld_Uops_Ret", "The number of fused load uops retired."},
00094     {"Fused_St_Uops_Ret", "The number of fused store uops retired."},
00095     {"Fused_Uops_Ret", "The number of fused uops retired."},
00096     {"HW_Int_Rx", "The number of hardware interrupts received."},
00097     {"ICache_Misses", "The number of instruction fetch misses in the instruction cache and streaming buffers."},
00098     {"ICache_Reads", "The number of instruction fetches from the the instruction cache and streaming buffers counting both cacheable and uncacheable fetches."},
00099     {"IFU_Mem_Stall", "The number of cycles the instruction fetch unit was stalled while waiting for data from memory."},
00100     {"ILD_Stall", "The number of instruction length decoder stalls."},
00101     {"ITLB_Misses", "The number of instruction TLB misses."},
00102     {"Instr_Decoded", "The number of instructions decoded."},
00103     {"Instr_Ret", "The number of instructions retired. This is an architectural performance event."},
00104     {"L1_Pref_Req", "The number of L1 prefetch request due to data cache misses."},
00105     {"L2_ADS", "The number of L2 address strobes."},
00106     {"L2_IFetch", "The number of instruction fetches by the instruction fetch unit from L2 cache including speculative fetches."},
00107     {"L2_LD", "The number of L2 cache reads."},
00108     {"L2_Lines_In", "The number of L2 cache lines allocated."},
00109     {"L2_Lines_Out", "The number of L2 cache lines evicted."},
00110     {"L2_M_Lines_In", "The number of L2 M state cache lines allocated."},
00111     {"L2_M_Lines_Out", "The number of L2 M state cache lines evicted."},
00112     {"L2_No_Request_Cycles", "The number of cycles there was no request to access L2 cache."},
00113     {"L2_Reject_Cycles", "The number of cycles the L2 cache was busy and rejecting new requests."},
00114     {"L2_Rqsts", "The number of L2 cache requests."},
00115     {"L2_ST", "The number of L2 cache writes including speculative writes."},
00116     {"LD_Blocks", "The number of load operations delayed due to store buffer blocks."},
00117     {"LLC_Misses", "The number of cache misses for references to the last level cache, excluding misses due to hardware prefetches. This is an architectural performance event."},
00118     {"LLC_Reference", "The number of references to the last level cache, excluding those due to hardware prefetches. This is an architectural performance event."},
00119     {"MMX_Assist", "The number of EMMX instructions executed."},
00120     {"MMX_FP_Trans", "The number of transitions from MMX to X87."},
00121     {"MMX_Instr_Exec", "The number of MMX instructions executed excluding MOVQ and MOVD stores."},
00122     {"MMX_Instr_Ret", "The number of MMX instructions retired."},
00123     {"Misalign_Mem_Ref", "The number of misaligned data memory references, counting loads and stores."},
00124     {"Mul", "The number of multiply operations include speculative floating point and integer multiplies. This event is available on PMC1 only."},
00125     {"NonHlt_Ref_Cycles", "The number of non-halted bus cycles. This is an architectural performance event."},
00126     {"Pref_Rqsts_Dn", "The number of hardware prefetch requests issued in backward streams."},
00127     {"Pref_Rqsts_Up", "The number of hardware prefetch requests issued in forward streams."},
00128     {"Resource_Stall", "The number of cycles where there is a resource related stall."},
00129     {"SD_Drains", "The number of cycles while draining store buffers."},
00130     {"SIMD_FP_DP_P_Ret", "The number of SSE/SSE2 packed double precision instructions retired."},
00131     {"SIMD_FP_DP_P_Comp_Ret", "The number of SSE/SSE2 packed double precision compute instructions retired."},
00132     {"SIMD_FP_DP_S_Ret", "The number of SSE/SSE2 scalar double precision instructions retired."},
00133     {"SIMD_FP_DP_S_Comp_Ret", "The number of SSE/SSE2 scalar double precision compute instructions retired."},
00134     {"SIMD_FP_SP_P_Comp_Ret", "The number of SSE/SSE2 packed single precision compute instructions retired."},
00135     {"SIMD_FP_SP_Ret", "The number of SSE/SSE2 scalar single precision instructions retired, both packed and scalar."},
00136     {"SIMD_FP_SP_S_Ret", "The number of SSE/SSE2 scalar single precision instructions retired."},
00137     {"SIMD_FP_SP_S_Comp_Ret", "The number of SSE/SSE2 single precision compute instructions retired."},
00138     {"SIMD_Int_128_Ret", "The number of SSE2 128-bit integer instructions retired."},
00139     {"SIMD_Int_Pari_Exec", "The number of SIMD integer packed arithmetic instructions executed."},
00140     {"SIMD_Int_Pck_Exec", "The number of SIMD integer pack operations instructions executed."},
00141     {"SIMD_Int_Plog_Exec", "The number of SIMD integer packed logical instructions executed."},
00142     {"SIMD_Int_Pmul_Exec", "The number of SIMD integer packed multiply instructions executed."},
00143     {"SIMD_Int_Psft_Exec", "The number of SIMD integer packed shift instructions executed."},
00144     {"SIMD_Int_Sat_Exec", "The number of SIMD integer saturating instructions executed."},
00145     {"SIMD_Int_Upck_Exec", "The number of SIMD integer unpack instructions executed."},
00146     {"SMC_Detected", "The number of times self-modifying code was detected."},
00147     {"SSE_NTStores_Miss", "The number of times an SSE streaming store instruction missed all caches."},
00148     {"SSE_NTStores_Ret", "The number of SSE streaming store instructions executed."},
00149     {"SSE_PrefNta_Miss", "The number of times PREFETCHNTA missed all caches."},
00150     {"SSE_PrefNta_Ret", "The number of PREFETCHNTA instructions retired."},
00151     {"SSE_PrefT1_Miss", "The number of times PREFETCHT1 missed all caches."},
00152     {"SSE_PrefT1_Ret", "The number of PREFETCHT1 instructions retired."},
00153     {"SSE_PrefT2_Miss", "The number of times PREFETCHNT2 missed all caches."},
00154     {"SSE_PrefT2_Ret", "The number of PREFETCHT2 instructions retired."},
00155     {"Seg_Reg_Loads", "The number of segment register loads."},
00156     {"Serial_Execution_Cycles", "The number of non-halted bus cycles of this code while the other core was halted."},
00157     {"Thermal_Trip", "The duration in a thermal trip based on the current core clock."},
00158     {"Unfusion", "The number of unfusion events."},
00159     {"Unhalted_Core_Cycles", "The number of core clock cycles when the clock signal on a specific core is not halted. This is an architectural performance event."},
00160     {"Uops_Ret", "The number of micro-ops retired."},
00161     { NULL, NULL }
00162 };
00163 
 All Data Structures Files Functions Variables Typedefs Enumerations Enumerator Defines