|
Packit Service |
a1973e |
/*
|
|
Packit Service |
a1973e |
* Copyright (c) 2009 Google, Inc
|
|
Packit Service |
a1973e |
* Contributed by Stephane Eranian <eranian@gmail.com>
|
|
Packit Service |
a1973e |
* Contributions by James Ralph <ralph@eecs.utk.edu>
|
|
Packit Service |
a1973e |
*
|
|
Packit Service |
a1973e |
* Based on:
|
|
Packit Service |
a1973e |
* Copyright (c) 2006 Hewlett-Packard Development Company, L.P.
|
|
Packit Service |
a1973e |
* Contributed by Stephane Eranian <eranian@hpl.hp.com>
|
|
Packit Service |
a1973e |
*
|
|
Packit Service |
a1973e |
* Permission is hereby granted, free of charge, to any person obtaining a copy
|
|
Packit Service |
a1973e |
* of this software and associated documentation files (the "Software"), to deal
|
|
Packit Service |
a1973e |
* in the Software without restriction, including without limitation the rights
|
|
Packit Service |
a1973e |
* to use, copy, modify, merge, publish, distribute, sublicense, and/or sell copies
|
|
Packit Service |
a1973e |
* of the Software, and to permit persons to whom the Software is furnished to do so,
|
|
Packit Service |
a1973e |
* subject to the following conditions:
|
|
Packit Service |
a1973e |
*
|
|
Packit Service |
a1973e |
* The above copyright notice and this permission notice shall be included in all
|
|
Packit Service |
a1973e |
* copies or substantial portions of the Software.
|
|
Packit Service |
a1973e |
*
|
|
Packit Service |
a1973e |
* THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR IMPLIED,
|
|
Packit Service |
a1973e |
* INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, FITNESS FOR A
|
|
Packit Service |
a1973e |
* PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT
|
|
Packit Service |
a1973e |
* HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION OF
|
|
Packit Service |
a1973e |
* CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE
|
|
Packit Service |
a1973e |
* OR THE USE OR OTHER DEALINGS IN THE SOFTWARE.
|
|
Packit Service |
a1973e |
*
|
|
Packit Service |
a1973e |
* This file is part of libpfm, a performance monitoring support library for
|
|
Packit Service |
a1973e |
* applications on Linux.
|
|
Packit Service |
a1973e |
*/
|
|
Packit Service |
a1973e |
|
|
Packit Service |
a1973e |
|
|
Packit Service |
a1973e |
#define INTEL_COREDUO_MESI_UMASKS \
|
|
Packit Service |
a1973e |
{ .pme_uname = "MESI",\
|
|
Packit Service |
a1973e |
.pme_udesc = "Any cacheline access",\
|
|
Packit Service |
a1973e |
.pme_ucode = 0xf\
|
|
Packit Service |
a1973e |
},\
|
|
Packit Service |
a1973e |
{ .pme_uname = "I_STATE",\
|
|
Packit Service |
a1973e |
.pme_udesc = "Invalid cacheline",\
|
|
Packit Service |
a1973e |
.pme_ucode = 0x1\
|
|
Packit Service |
a1973e |
},\
|
|
Packit Service |
a1973e |
{ .pme_uname = "S_STATE",\
|
|
Packit Service |
a1973e |
.pme_udesc = "Shared cacheline",\
|
|
Packit Service |
a1973e |
.pme_ucode = 0x2\
|
|
Packit Service |
a1973e |
},\
|
|
Packit Service |
a1973e |
{ .pme_uname = "E_STATE",\
|
|
Packit Service |
a1973e |
.pme_udesc = "Exclusive cacheline",\
|
|
Packit Service |
a1973e |
.pme_ucode = 0x4\
|
|
Packit Service |
a1973e |
},\
|
|
Packit Service |
a1973e |
{ .pme_uname = "M_STATE",\
|
|
Packit Service |
a1973e |
.pme_udesc = "Modified cacheline",\
|
|
Packit Service |
a1973e |
.pme_ucode = 0x8\
|
|
Packit Service |
a1973e |
}
|
|
Packit Service |
a1973e |
|
|
Packit Service |
a1973e |
#define INTEL_COREDUO_SPECIFICITY_UMASKS \
|
|
Packit Service |
a1973e |
{ .pme_uname = "SELF",\
|
|
Packit Service |
a1973e |
.pme_udesc = "This core",\
|
|
Packit Service |
a1973e |
.pme_ucode = 0x40\
|
|
Packit Service |
a1973e |
},\
|
|
Packit Service |
a1973e |
{ .pme_uname = "BOTH_CORES",\
|
|
Packit Service |
a1973e |
.pme_udesc = "Both cores",\
|
|
Packit Service |
a1973e |
.pme_ucode = 0xc0\
|
|
Packit Service |
a1973e |
}
|
|
Packit Service |
a1973e |
|
|
Packit Service |
a1973e |
#define INTEL_COREDUO_HW_PREFETCH_UMASKS \
|
|
Packit Service |
a1973e |
{ .pme_uname = "ANY",\
|
|
Packit Service |
a1973e |
.pme_udesc = "All inclusive",\
|
|
Packit Service |
a1973e |
.pme_ucode = 0x30\
|
|
Packit Service |
a1973e |
},\
|
|
Packit Service |
a1973e |
{ .pme_uname = "PREFETCH",\
|
|
Packit Service |
a1973e |
.pme_udesc = "Hardware prefetch only",\
|
|
Packit Service |
a1973e |
.pme_ucode = 0x10\
|
|
Packit Service |
a1973e |
}
|
|
Packit Service |
a1973e |
|
|
Packit Service |
a1973e |
#define INTEL_COREDUO_AGENT_UMASKS \
|
|
Packit Service |
a1973e |
{ .pme_uname = "THIS_AGENT",\
|
|
Packit Service |
a1973e |
.pme_udesc = "This agent",\
|
|
Packit Service |
a1973e |
.pme_ucode = 0x00\
|
|
Packit Service |
a1973e |
},\
|
|
Packit Service |
a1973e |
{ .pme_uname = "ALL_AGENTS",\
|
|
Packit Service |
a1973e |
.pme_udesc = "Any agent on the bus",\
|
|
Packit Service |
a1973e |
.pme_ucode = 0x20\
|
|
Packit Service |
a1973e |
}
|
|
Packit Service |
a1973e |
|
|
Packit Service |
a1973e |
static pme_coreduo_entry_t coreduo_pe[]={
|
|
Packit Service |
a1973e |
/*
|
|
Packit Service |
a1973e |
* BEGIN architectural perfmon events
|
|
Packit Service |
a1973e |
*/
|
|
Packit Service |
a1973e |
/* 0 */{
|
|
Packit Service |
a1973e |
.pme_name = "UNHALTED_CORE_CYCLES",
|
|
Packit Service |
a1973e |
.pme_code = 0x003c,
|
|
Packit Service |
a1973e |
.pme_desc = "Unhalted core cycles",
|
|
Packit Service |
a1973e |
},
|
|
Packit Service |
a1973e |
/* 1 */{
|
|
Packit Service |
a1973e |
.pme_name = "UNHALTED_REFERENCE_CYCLES",
|
|
Packit Service |
a1973e |
.pme_code = 0x013c,
|
|
Packit Service |
a1973e |
.pme_desc = "Unhalted reference cycles. Measures bus cycles"
|
|
Packit Service |
a1973e |
},
|
|
Packit Service |
a1973e |
/* 2 */{
|
|
Packit Service |
a1973e |
.pme_name = "INSTRUCTIONS_RETIRED",
|
|
Packit Service |
a1973e |
.pme_code = 0xc0,
|
|
Packit Service |
a1973e |
.pme_desc = "Instructions retired"
|
|
Packit Service |
a1973e |
},
|
|
Packit Service |
a1973e |
/* 3 */{
|
|
Packit Service |
a1973e |
.pme_name = "LAST_LEVEL_CACHE_REFERENCES",
|
|
Packit Service |
a1973e |
.pme_code = 0x4f2e,
|
|
Packit Service |
a1973e |
.pme_desc = "Last level of cache references"
|
|
Packit Service |
a1973e |
},
|
|
Packit Service |
a1973e |
/* 4 */{
|
|
Packit Service |
a1973e |
.pme_name = "LAST_LEVEL_CACHE_MISSES",
|
|
Packit Service |
a1973e |
.pme_code = 0x412e,
|
|
Packit Service |
a1973e |
.pme_desc = "Last level of cache misses",
|
|
Packit Service |
a1973e |
},
|
|
Packit Service |
a1973e |
/* 5 */{
|
|
Packit Service |
a1973e |
.pme_name = "BRANCH_INSTRUCTIONS_RETIRED",
|
|
Packit Service |
a1973e |
.pme_code = 0xc4,
|
|
Packit Service |
a1973e |
.pme_desc = "Branch instructions retired"
|
|
Packit Service |
a1973e |
},
|
|
Packit Service |
a1973e |
/* 6 */{
|
|
Packit Service |
a1973e |
.pme_name = "MISPREDICTED_BRANCH_RETIRED",
|
|
Packit Service |
a1973e |
.pme_code = 0xc5,
|
|
Packit Service |
a1973e |
.pme_desc = "Mispredicted branch instruction retired"
|
|
Packit Service |
a1973e |
},
|
|
Packit Service |
a1973e |
|
|
Packit Service |
a1973e |
/*
|
|
Packit Service |
a1973e |
* BEGIN non architectural events
|
|
Packit Service |
a1973e |
*/
|
|
Packit Service |
a1973e |
|
|
Packit Service |
a1973e |
{ .pme_code = 0x3,
|
|
Packit Service |
a1973e |
.pme_name = "LD_BLOCKS",
|
|
Packit Service |
a1973e |
.pme_desc = "Load operations delayed due to store buffer blocks. The preceding store may be blocked due to unknown address, unknown data, or conflict due to partial overlap between the load and store.",
|
|
Packit Service |
a1973e |
},
|
|
Packit Service |
a1973e |
{ .pme_code = 0x4,
|
|
Packit Service |
a1973e |
.pme_name = "SD_DRAINS",
|
|
Packit Service |
a1973e |
.pme_desc = "Cycles while draining store buffers",
|
|
Packit Service |
a1973e |
},
|
|
Packit Service |
a1973e |
{ .pme_code = 0x5,
|
|
Packit Service |
a1973e |
.pme_name = "MISALIGN_MEM_REF",
|
|
Packit Service |
a1973e |
.pme_desc = "Misaligned data memory references (MOB splits of loads and stores).",
|
|
Packit Service |
a1973e |
},
|
|
Packit Service |
a1973e |
{ .pme_code = 0x6,
|
|
Packit Service |
a1973e |
.pme_name = "SEG_REG_LOADS",
|
|
Packit Service |
a1973e |
.pme_desc = "Segment register loads",
|
|
Packit Service |
a1973e |
},
|
|
Packit Service |
a1973e |
{ .pme_code = 0x7,
|
|
Packit Service |
a1973e |
.pme_name = "SSE_PREFETCH",
|
|
Packit Service |
a1973e |
.pme_flags = 0,
|
|
Packit Service |
a1973e |
.pme_desc = "Streaming SIMD Extensions (SSE) Prefetch instructions executed",
|
|
Packit Service |
a1973e |
.pme_umasks = {
|
|
Packit Service |
a1973e |
{ .pme_uname = "NTA",
|
|
Packit Service |
a1973e |
.pme_udesc = "Streaming SIMD Extensions (SSE) Prefetch NTA instructions executed",
|
|
Packit Service |
a1973e |
.pme_ucode = 0x0
|
|
Packit Service |
a1973e |
},
|
|
Packit Service |
a1973e |
{ .pme_uname = "T1",
|
|
Packit Service |
a1973e |
.pme_udesc = "SSE software prefetch instruction PREFE0xTCT1 retired",
|
|
Packit Service |
a1973e |
.pme_ucode = 0x01
|
|
Packit Service |
a1973e |
},
|
|
Packit Service |
a1973e |
{ .pme_uname = "T2",
|
|
Packit Service |
a1973e |
.pme_udesc = "SSE software prefetch instruction PREFE0xTCT2 retired",
|
|
Packit Service |
a1973e |
.pme_ucode = 0x02
|
|
Packit Service |
a1973e |
},
|
|
Packit Service |
a1973e |
},
|
|
Packit Service |
a1973e |
.pme_numasks = 3
|
|
Packit Service |
a1973e |
},
|
|
Packit Service |
a1973e |
{ .pme_name = "SSE_NTSTORES_RET",
|
|
Packit Service |
a1973e |
.pme_desc = "SSE streaming store instruction retired",
|
|
Packit Service |
a1973e |
.pme_code = 0x0307
|
|
Packit Service |
a1973e |
},
|
|
Packit Service |
a1973e |
{ .pme_code = 0x10,
|
|
Packit Service |
a1973e |
.pme_name = "FP_COMPS_OP_EXE",
|
|
Packit Service |
a1973e |
.pme_desc = "FP computational Instruction executed. FADD, FSUB, FCOM, FMULs, MUL, IMUL, FDIVs, DIV, IDIV, FPREMs, FSQRT are included; but exclude FADD or FMUL used in the middle of a transcendental instruction.",
|
|
Packit Service |
a1973e |
},
|
|
Packit Service |
a1973e |
{ .pme_code = 0x11,
|
|
Packit Service |
a1973e |
.pme_name = "FP_ASSIST",
|
|
Packit Service |
a1973e |
.pme_desc = "FP exceptions experienced microcode assists",
|
|
Packit Service |
a1973e |
.pme_flags = PFMLIB_COREDUO_PMC1
|
|
Packit Service |
a1973e |
},
|
|
Packit Service |
a1973e |
{ .pme_code = 0x12,
|
|
Packit Service |
a1973e |
.pme_name = "MUL",
|
|
Packit Service |
a1973e |
.pme_desc = "Multiply operations (a speculative count, including FP and integer multiplies).",
|
|
Packit Service |
a1973e |
.pme_flags = PFMLIB_COREDUO_PMC1
|
|
Packit Service |
a1973e |
},
|
|
Packit Service |
a1973e |
{ .pme_code = 0x13,
|
|
Packit Service |
a1973e |
.pme_name = "DIV",
|
|
Packit Service |
a1973e |
.pme_desc = "Divide operations (a speculative count, including FP and integer multiplies). ",
|
|
Packit Service |
a1973e |
.pme_flags = PFMLIB_COREDUO_PMC1
|
|
Packit Service |
a1973e |
},
|
|
Packit Service |
a1973e |
{ .pme_code = 0x14,
|
|
Packit Service |
a1973e |
.pme_name = "CYCLES_DIV_BUSY",
|
|
Packit Service |
a1973e |
.pme_desc = "Cycles the divider is busy ",
|
|
Packit Service |
a1973e |
.pme_flags = PFMLIB_COREDUO_PMC0
|
|
Packit Service |
a1973e |
},
|
|
Packit Service |
a1973e |
{ .pme_code = 0x21,
|
|
Packit Service |
a1973e |
.pme_name = "L2_ADS",
|
|
Packit Service |
a1973e |
.pme_flags = PFMLIB_COREDUO_CSPEC,
|
|
Packit Service |
a1973e |
.pme_desc = "L2 Address strobes ",
|
|
Packit Service |
a1973e |
.pme_umasks = {
|
|
Packit Service |
a1973e |
INTEL_COREDUO_SPECIFICITY_UMASKS
|
|
Packit Service |
a1973e |
},
|
|
Packit Service |
a1973e |
.pme_numasks = 2
|
|
Packit Service |
a1973e |
},
|
|
Packit Service |
a1973e |
{ .pme_code = 0x22,
|
|
Packit Service |
a1973e |
.pme_name = "DBUS_BUSY",
|
|
Packit Service |
a1973e |
.pme_flags = PFMLIB_COREDUO_CSPEC,
|
|
Packit Service |
a1973e |
.pme_desc = "Core cycle during which data buswas busy (increments by 4)",
|
|
Packit Service |
a1973e |
.pme_umasks = {
|
|
Packit Service |
a1973e |
INTEL_COREDUO_SPECIFICITY_UMASKS
|
|
Packit Service |
a1973e |
},
|
|
Packit Service |
a1973e |
.pme_numasks = 2
|
|
Packit Service |
a1973e |
},
|
|
Packit Service |
a1973e |
{ .pme_code = 0x23,
|
|
Packit Service |
a1973e |
.pme_name = "DBUS_BUSY_RD",
|
|
Packit Service |
a1973e |
.pme_flags = PFMLIB_COREDUO_CSPEC,
|
|
Packit Service |
a1973e |
.pme_desc = "Cycles data bus is busy transferring data to a core (increments by 4) ",
|
|
Packit Service |
a1973e |
.pme_umasks = {
|
|
Packit Service |
a1973e |
INTEL_COREDUO_SPECIFICITY_UMASKS
|
|
Packit Service |
a1973e |
},
|
|
Packit Service |
a1973e |
.pme_numasks = 2
|
|
Packit Service |
a1973e |
},
|
|
Packit Service |
a1973e |
{ .pme_code = 0x24,
|
|
Packit Service |
a1973e |
.pme_name = "L2_LINES_IN",
|
|
Packit Service |
a1973e |
.pme_flags = PFMLIB_COREDUO_CSPEC,
|
|
Packit Service |
a1973e |
.pme_desc = "L2 cache lines allocated",
|
|
Packit Service |
a1973e |
.pme_umasks = {
|
|
Packit Service |
a1973e |
INTEL_COREDUO_SPECIFICITY_UMASKS,
|
|
Packit Service |
a1973e |
INTEL_COREDUO_HW_PREFETCH_UMASKS
|
|
Packit Service |
a1973e |
},
|
|
Packit Service |
a1973e |
.pme_numasks = 4
|
|
Packit Service |
a1973e |
},
|
|
Packit Service |
a1973e |
{ .pme_code = 0x25,
|
|
Packit Service |
a1973e |
.pme_name = "L2_M_LINES_IN",
|
|
Packit Service |
a1973e |
.pme_flags = PFMLIB_COREDUO_CSPEC,
|
|
Packit Service |
a1973e |
.pme_desc = "L2 Modified-state cache lines allocated",
|
|
Packit Service |
a1973e |
.pme_umasks = {
|
|
Packit Service |
a1973e |
INTEL_COREDUO_SPECIFICITY_UMASKS
|
|
Packit Service |
a1973e |
},
|
|
Packit Service |
a1973e |
.pme_numasks = 2
|
|
Packit Service |
a1973e |
},
|
|
Packit Service |
a1973e |
{ .pme_code = 0x26,
|
|
Packit Service |
a1973e |
.pme_name = "L2_LINES_OUT",
|
|
Packit Service |
a1973e |
.pme_flags = PFMLIB_COREDUO_CSPEC,
|
|
Packit Service |
a1973e |
.pme_desc = "L2 cache lines evicted ",
|
|
Packit Service |
a1973e |
.pme_umasks = {
|
|
Packit Service |
a1973e |
INTEL_COREDUO_SPECIFICITY_UMASKS,
|
|
Packit Service |
a1973e |
INTEL_COREDUO_HW_PREFETCH_UMASKS
|
|
Packit Service |
a1973e |
},
|
|
Packit Service |
a1973e |
.pme_numasks = 4
|
|
Packit Service |
a1973e |
},
|
|
Packit Service |
a1973e |
{ .pme_code = 0x27,
|
|
Packit Service |
a1973e |
.pme_name = "L2_M_LINES_OUT",
|
|
Packit Service |
a1973e |
.pme_flags = PFMLIB_COREDUO_CSPEC,
|
|
Packit Service |
a1973e |
.pme_desc = "L2 Modified-state cache lines evicted ",
|
|
Packit Service |
a1973e |
.pme_umasks = {
|
|
Packit Service |
a1973e |
INTEL_COREDUO_SPECIFICITY_UMASKS,
|
|
Packit Service |
a1973e |
INTEL_COREDUO_HW_PREFETCH_UMASKS
|
|
Packit Service |
a1973e |
},
|
|
Packit Service |
a1973e |
.pme_numasks = 4
|
|
Packit Service |
a1973e |
},
|
|
Packit Service |
a1973e |
{ .pme_code = 0x28,
|
|
Packit Service |
a1973e |
.pme_name = "L2_IFETCH",
|
|
Packit Service |
a1973e |
.pme_flags = PFMLIB_COREDUO_CSPEC|PFMLIB_COREDUO_MESI,
|
|
Packit Service |
a1973e |
.pme_desc = "L2 instruction fetches from nstruction fetch unit (includes speculative fetches) ",
|
|
Packit Service |
a1973e |
.pme_umasks = {
|
|
Packit Service |
a1973e |
INTEL_COREDUO_MESI_UMASKS,
|
|
Packit Service |
a1973e |
INTEL_COREDUO_SPECIFICITY_UMASKS
|
|
Packit Service |
a1973e |
},
|
|
Packit Service |
a1973e |
.pme_numasks = 7
|
|
Packit Service |
a1973e |
},
|
|
Packit Service |
a1973e |
{ .pme_code = 0x29,
|
|
Packit Service |
a1973e |
.pme_name = "L2_LD",
|
|
Packit Service |
a1973e |
.pme_desc = "L2 cache reads (includes speculation) ",
|
|
Packit Service |
a1973e |
.pme_flags = PFMLIB_COREDUO_CSPEC|PFMLIB_COREDUO_MESI,
|
|
Packit Service |
a1973e |
.pme_umasks = {
|
|
Packit Service |
a1973e |
INTEL_COREDUO_MESI_UMASKS,
|
|
Packit Service |
a1973e |
INTEL_COREDUO_SPECIFICITY_UMASKS
|
|
Packit Service |
a1973e |
},
|
|
Packit Service |
a1973e |
.pme_numasks = 7
|
|
Packit Service |
a1973e |
},
|
|
Packit Service |
a1973e |
{ .pme_code = 0x2A,
|
|
Packit Service |
a1973e |
.pme_name = "L2_ST",
|
|
Packit Service |
a1973e |
.pme_flags = PFMLIB_COREDUO_CSPEC|PFMLIB_COREDUO_MESI,
|
|
Packit Service |
a1973e |
.pme_desc = "L2 cache writes (includes speculation)",
|
|
Packit Service |
a1973e |
.pme_umasks = {
|
|
Packit Service |
a1973e |
INTEL_COREDUO_MESI_UMASKS,
|
|
Packit Service |
a1973e |
INTEL_COREDUO_SPECIFICITY_UMASKS
|
|
Packit Service |
a1973e |
},
|
|
Packit Service |
a1973e |
.pme_numasks = 7
|
|
Packit Service |
a1973e |
},
|
|
Packit Service |
a1973e |
{ .pme_code = 0x2E,
|
|
Packit Service |
a1973e |
.pme_name = "L2_RQSTS",
|
|
Packit Service |
a1973e |
.pme_flags = PFMLIB_COREDUO_CSPEC|PFMLIB_COREDUO_MESI,
|
|
Packit Service |
a1973e |
.pme_desc = "L2 cache reference requests ",
|
|
Packit Service |
a1973e |
.pme_umasks = {
|
|
Packit Service |
a1973e |
INTEL_COREDUO_MESI_UMASKS,
|
|
Packit Service |
a1973e |
INTEL_COREDUO_SPECIFICITY_UMASKS,
|
|
Packit Service |
a1973e |
INTEL_COREDUO_HW_PREFETCH_UMASKS
|
|
Packit Service |
a1973e |
},
|
|
Packit Service |
a1973e |
.pme_numasks = 9
|
|
Packit Service |
a1973e |
},
|
|
Packit Service |
a1973e |
{ .pme_code = 0x30,
|
|
Packit Service |
a1973e |
.pme_name = "L2_REJECT_CYCLES",
|
|
Packit Service |
a1973e |
.pme_flags = PFMLIB_COREDUO_CSPEC|PFMLIB_COREDUO_MESI,
|
|
Packit Service |
a1973e |
.pme_desc = "Cycles L2 is busy and rejecting new requests.",
|
|
Packit Service |
a1973e |
.pme_umasks = {
|
|
Packit Service |
a1973e |
INTEL_COREDUO_MESI_UMASKS,
|
|
Packit Service |
a1973e |
INTEL_COREDUO_SPECIFICITY_UMASKS,
|
|
Packit Service |
a1973e |
INTEL_COREDUO_HW_PREFETCH_UMASKS
|
|
Packit Service |
a1973e |
},
|
|
Packit Service |
a1973e |
.pme_numasks = 9
|
|
Packit Service |
a1973e |
},
|
|
Packit Service |
a1973e |
{ .pme_code = 0x32,
|
|
Packit Service |
a1973e |
.pme_name = "L2_NO_REQUEST_CYCLES",
|
|
Packit Service |
a1973e |
.pme_flags = PFMLIB_COREDUO_CSPEC|PFMLIB_COREDUO_MESI,
|
|
Packit Service |
a1973e |
.pme_desc = "Cycles there is no request to access L2.",
|
|
Packit Service |
a1973e |
.pme_umasks = {
|
|
Packit Service |
a1973e |
INTEL_COREDUO_MESI_UMASKS,
|
|
Packit Service |
a1973e |
INTEL_COREDUO_SPECIFICITY_UMASKS,
|
|
Packit Service |
a1973e |
INTEL_COREDUO_HW_PREFETCH_UMASKS
|
|
Packit Service |
a1973e |
},
|
|
Packit Service |
a1973e |
.pme_numasks = 9
|
|
Packit Service |
a1973e |
},
|
|
Packit Service |
a1973e |
{ .pme_code = 0x3A,
|
|
Packit Service |
a1973e |
.pme_name = "EST_TRANS_ALL",
|
|
Packit Service |
a1973e |
.pme_desc = "Any Intel Enhanced SpeedStep(R) Technology transitions",
|
|
Packit Service |
a1973e |
},
|
|
Packit Service |
a1973e |
{ .pme_code = 0x103A,
|
|
Packit Service |
a1973e |
.pme_name = "EST_TRANS_ALL",
|
|
Packit Service |
a1973e |
.pme_desc = "Intel Enhanced SpeedStep Technology frequency transitions",
|
|
Packit Service |
a1973e |
},
|
|
Packit Service |
a1973e |
{ .pme_code = 0x3B,
|
|
Packit Service |
a1973e |
.pme_name = "THERMAL_TRIP",
|
|
Packit Service |
a1973e |
.pme_desc = "Duration in a thermal trip based on the current core clock ",
|
|
Packit Service |
a1973e |
.pme_umasks = {
|
|
Packit Service |
a1973e |
{ .pme_uname = "CYCLES",
|
|
Packit Service |
a1973e |
.pme_udesc = "Duration in a thermal trip based on the current core clock",
|
|
Packit Service |
a1973e |
.pme_ucode = 0xC0
|
|
Packit Service |
a1973e |
},
|
|
Packit Service |
a1973e |
{ .pme_uname = "TRIPS",
|
|
Packit Service |
a1973e |
.pme_udesc = "Number of thermal trips",
|
|
Packit Service |
a1973e |
.pme_ucode = 0xC0 | (1<<10) /* Edge detect pin (Figure 18-13) */
|
|
Packit Service |
a1973e |
}
|
|
Packit Service |
a1973e |
},
|
|
Packit Service |
a1973e |
.pme_numasks = 2
|
|
Packit Service |
a1973e |
},
|
|
Packit Service |
a1973e |
{
|
|
Packit Service |
a1973e |
.pme_name = "CPU_CLK_UNHALTED",
|
|
Packit Service |
a1973e |
.pme_code = 0x3c,
|
|
Packit Service |
a1973e |
.pme_desc = "Core cycles when core is not halted",
|
|
Packit Service |
a1973e |
.pme_umasks = {
|
|
Packit Service |
a1973e |
{ .pme_uname = "NONHLT_REF_CYCLES",
|
|
Packit Service |
a1973e |
.pme_udesc = "Non-halted bus cycles",
|
|
Packit Service |
a1973e |
.pme_ucode = 0x01
|
|
Packit Service |
a1973e |
},
|
|
Packit Service |
a1973e |
{ .pme_uname = "SERIAL_EXECUTION_CYCLES",
|
|
Packit Service |
a1973e |
.pme_udesc ="Non-halted bus cycles of this core executing code while the other core is halted",
|
|
Packit Service |
a1973e |
.pme_ucode = 0x02
|
|
Packit Service |
a1973e |
}
|
|
Packit Service |
a1973e |
},
|
|
Packit Service |
a1973e |
.pme_numasks = 2
|
|
Packit Service |
a1973e |
},
|
|
Packit Service |
a1973e |
{ .pme_code = 0x40,
|
|
Packit Service |
a1973e |
.pme_name = "DCACHE_CACHE_LD",
|
|
Packit Service |
a1973e |
.pme_desc = "L1 cacheable data read operations",
|
|
Packit Service |
a1973e |
.pme_umasks = {
|
|
Packit Service |
a1973e |
INTEL_COREDUO_MESI_UMASKS
|
|
Packit Service |
a1973e |
},
|
|
Packit Service |
a1973e |
.pme_numasks = 5
|
|
Packit Service |
a1973e |
},
|
|
Packit Service |
a1973e |
{ .pme_code = 0x41,
|
|
Packit Service |
a1973e |
.pme_name = "DCACHE_CACHE_ST",
|
|
Packit Service |
a1973e |
.pme_desc = "L1 cacheable data write operations",
|
|
Packit Service |
a1973e |
.pme_umasks = {
|
|
Packit Service |
a1973e |
INTEL_COREDUO_MESI_UMASKS
|
|
Packit Service |
a1973e |
},
|
|
Packit Service |
a1973e |
.pme_numasks = 5
|
|
Packit Service |
a1973e |
},
|
|
Packit Service |
a1973e |
{ .pme_code = 0x42,
|
|
Packit Service |
a1973e |
.pme_name = "DCACHE_CACHE_LOCK",
|
|
Packit Service |
a1973e |
.pme_desc = "L1 cacheable lock read operations to invalid state",
|
|
Packit Service |
a1973e |
.pme_umasks = {
|
|
Packit Service |
a1973e |
INTEL_COREDUO_MESI_UMASKS
|
|
Packit Service |
a1973e |
},
|
|
Packit Service |
a1973e |
.pme_numasks = 5
|
|
Packit Service |
a1973e |
},
|
|
Packit Service |
a1973e |
{ .pme_code = 0x0143,
|
|
Packit Service |
a1973e |
.pme_name = "DATA_MEM_REF",
|
|
Packit Service |
a1973e |
.pme_desc = "L1 data read and writes of cacheable and non-cacheable types",
|
|
Packit Service |
a1973e |
},
|
|
Packit Service |
a1973e |
{ .pme_code = 0x0244,
|
|
Packit Service |
a1973e |
.pme_name = "DATA_MEM_CACHE_REF",
|
|
Packit Service |
a1973e |
.pme_desc = "L1 data cacheable read and write operations.",
|
|
Packit Service |
a1973e |
},
|
|
Packit Service |
a1973e |
{ .pme_code = 0x0f45,
|
|
Packit Service |
a1973e |
.pme_name = "DCACHE_REPL",
|
|
Packit Service |
a1973e |
.pme_desc = "L1 data cache line replacements",
|
|
Packit Service |
a1973e |
},
|
|
Packit Service |
a1973e |
{ .pme_code = 0x46,
|
|
Packit Service |
a1973e |
.pme_name = "DCACHE_M_REPL",
|
|
Packit Service |
a1973e |
.pme_desc = "L1 data M-state cache line allocated",
|
|
Packit Service |
a1973e |
},
|
|
Packit Service |
a1973e |
{ .pme_code = 0x47,
|
|
Packit Service |
a1973e |
.pme_name = "DCACHE_M_EVICT",
|
|
Packit Service |
a1973e |
.pme_desc = "L1 data M-state cache line evicted",
|
|
Packit Service |
a1973e |
},
|
|
Packit Service |
a1973e |
{ .pme_code = 0x48,
|
|
Packit Service |
a1973e |
.pme_name = "DCACHE_PEND_MISS",
|
|
Packit Service |
a1973e |
.pme_desc = "Weighted cycles of L1 miss outstanding",
|
|
Packit Service |
a1973e |
},
|
|
Packit Service |
a1973e |
{ .pme_code = 0x49,
|
|
Packit Service |
a1973e |
.pme_name = "DTLB_MISS",
|
|
Packit Service |
a1973e |
.pme_desc = "Data references that missed TLB",
|
|
Packit Service |
a1973e |
},
|
|
Packit Service |
a1973e |
{ .pme_code = 0x4B,
|
|
Packit Service |
a1973e |
.pme_name = "SSE_PRE_MISS",
|
|
Packit Service |
a1973e |
.pme_flags = 0,
|
|
Packit Service |
a1973e |
.pme_desc = "Streaming SIMD Extensions (SSE) instructions missing all cache levels",
|
|
Packit Service |
a1973e |
.pme_umasks = {
|
|
Packit Service |
a1973e |
{ .pme_uname = "NTA_MISS",
|
|
Packit Service |
a1973e |
.pme_udesc = "PREFETCHNTA missed all caches",
|
|
Packit Service |
a1973e |
.pme_ucode = 0x00
|
|
Packit Service |
a1973e |
},
|
|
Packit Service |
a1973e |
{ .pme_uname = "T1_MISS",
|
|
Packit Service |
a1973e |
.pme_udesc = "PREFETCHT1 missed all caches",
|
|
Packit Service |
a1973e |
.pme_ucode = 0x01
|
|
Packit Service |
a1973e |
},
|
|
Packit Service |
a1973e |
{ .pme_uname = "T2_MISS",
|
|
Packit Service |
a1973e |
.pme_udesc = "PREFETCHT2 missed all caches",
|
|
Packit Service |
a1973e |
.pme_ucode = 0x02
|
|
Packit Service |
a1973e |
},
|
|
Packit Service |
a1973e |
{ .pme_uname = "STORES_MISS",
|
|
Packit Service |
a1973e |
.pme_udesc = "SSE streaming store instruction missed all caches",
|
|
Packit Service |
a1973e |
.pme_ucode = 0x03
|
|
Packit Service |
a1973e |
}
|
|
Packit Service |
a1973e |
},
|
|
Packit Service |
a1973e |
.pme_numasks = 4
|
|
Packit Service |
a1973e |
},
|
|
Packit Service |
a1973e |
{ .pme_code = 0x4F,
|
|
Packit Service |
a1973e |
.pme_name = "L1_PREF_REQ",
|
|
Packit Service |
a1973e |
.pme_desc = "L1 prefetch requests due to DCU cache misses",
|
|
Packit Service |
a1973e |
},
|
|
Packit Service |
a1973e |
{ .pme_code = 0x60,
|
|
Packit Service |
a1973e |
.pme_name = "BUS_REQ_OUTSTANDING",
|
|
Packit Service |
a1973e |
.pme_flags = PFMLIB_COREDUO_CSPEC,
|
|
Packit Service |
a1973e |
.pme_desc = "Weighted cycles of cacheable bus data read requests. This event counts full-line read request from DCU or HW prefetcher, but not RFO, write, instruction fetches, or others.",
|
|
Packit Service |
a1973e |
.pme_umasks = {
|
|
Packit Service |
a1973e |
INTEL_COREDUO_SPECIFICITY_UMASKS,
|
|
Packit Service |
a1973e |
INTEL_COREDUO_AGENT_UMASKS
|
|
Packit Service |
a1973e |
},
|
|
Packit Service |
a1973e |
.pme_numasks = 4
|
|
Packit Service |
a1973e |
/* TODO: umasks bit 12 to include HWP or exclude HWP separately. */,
|
|
Packit Service |
a1973e |
},
|
|
Packit Service |
a1973e |
{ .pme_code = 0x61,
|
|
Packit Service |
a1973e |
.pme_name = "BUS_BNR_CLOCKS",
|
|
Packit Service |
a1973e |
.pme_desc = "External bus cycles while BNR asserted",
|
|
Packit Service |
a1973e |
},
|
|
Packit Service |
a1973e |
{ .pme_code = 0x62,
|
|
Packit Service |
a1973e |
.pme_name = "BUS_DRDY_CLOCKS",
|
|
Packit Service |
a1973e |
.pme_desc = "External bus cycles while DRDY asserted",
|
|
Packit Service |
a1973e |
.pme_umasks = {
|
|
Packit Service |
a1973e |
INTEL_COREDUO_AGENT_UMASKS
|
|
Packit Service |
a1973e |
},
|
|
Packit Service |
a1973e |
.pme_numasks = 2
|
|
Packit Service |
a1973e |
},
|
|
Packit Service |
a1973e |
{ .pme_code = 0x63,
|
|
Packit Service |
a1973e |
.pme_name = "BUS_LOCKS_CLOCKS",
|
|
Packit Service |
a1973e |
.pme_flags = PFMLIB_COREDUO_CSPEC,
|
|
Packit Service |
a1973e |
.pme_desc = "External bus cycles while bus lock signal asserted",
|
|
Packit Service |
a1973e |
.pme_umasks = {
|
|
Packit Service |
a1973e |
INTEL_COREDUO_SPECIFICITY_UMASKS,
|
|
Packit Service |
a1973e |
},
|
|
Packit Service |
a1973e |
.pme_numasks = 2
|
|
Packit Service |
a1973e |
},
|
|
Packit Service |
a1973e |
{ .pme_code = 0x4064,
|
|
Packit Service |
a1973e |
.pme_name = "BUS_DATA_RCV",
|
|
Packit Service |
a1973e |
.pme_desc = "External bus cycles while bus lock signal asserted",
|
|
Packit Service |
a1973e |
},
|
|
Packit Service |
a1973e |
{ .pme_code = 0x65,
|
|
Packit Service |
a1973e |
.pme_name = "BUS_TRANS_BRD",
|
|
Packit Service |
a1973e |
.pme_flags = PFMLIB_COREDUO_CSPEC,
|
|
Packit Service |
a1973e |
.pme_desc = "Burst read bus transactions (data or code)",
|
|
Packit Service |
a1973e |
.pme_umasks = {
|
|
Packit Service |
a1973e |
INTEL_COREDUO_SPECIFICITY_UMASKS,
|
|
Packit Service |
a1973e |
},
|
|
Packit Service |
a1973e |
.pme_numasks = 2
|
|
Packit Service |
a1973e |
},
|
|
Packit Service |
a1973e |
{ .pme_code = 0x66,
|
|
Packit Service |
a1973e |
.pme_name = "BUS_TRANS_RFO",
|
|
Packit Service |
a1973e |
.pme_flags = PFMLIB_COREDUO_CSPEC,
|
|
Packit Service |
a1973e |
.pme_desc = "Completed read for ownership ",
|
|
Packit Service |
a1973e |
.pme_umasks = {
|
|
Packit Service |
a1973e |
INTEL_COREDUO_SPECIFICITY_UMASKS,
|
|
Packit Service |
a1973e |
INTEL_COREDUO_AGENT_UMASKS
|
|
Packit Service |
a1973e |
},
|
|
Packit Service |
a1973e |
.pme_numasks = 4
|
|
Packit Service |
a1973e |
},
|
|
Packit Service |
a1973e |
{ .pme_code = 0x68,
|
|
Packit Service |
a1973e |
.pme_name = "BUS_TRANS_IFETCH",
|
|
Packit Service |
a1973e |
.pme_flags = PFMLIB_COREDUO_CSPEC,
|
|
Packit Service |
a1973e |
.pme_desc = "Completed instruction fetch transactions",
|
|
Packit Service |
a1973e |
.pme_umasks = {
|
|
Packit Service |
a1973e |
INTEL_COREDUO_SPECIFICITY_UMASKS,
|
|
Packit Service |
a1973e |
INTEL_COREDUO_AGENT_UMASKS
|
|
Packit Service |
a1973e |
},
|
|
Packit Service |
a1973e |
.pme_numasks = 4
|
|
Packit Service |
a1973e |
|
|
Packit Service |
a1973e |
},
|
|
Packit Service |
a1973e |
{ .pme_code = 0x69,
|
|
Packit Service |
a1973e |
.pme_flags = PFMLIB_COREDUO_CSPEC,
|
|
Packit Service |
a1973e |
.pme_name = "BUS_TRANS_INVAL",
|
|
Packit Service |
a1973e |
.pme_desc = "Completed invalidate transactions",
|
|
Packit Service |
a1973e |
.pme_umasks = {
|
|
Packit Service |
a1973e |
INTEL_COREDUO_SPECIFICITY_UMASKS,
|
|
Packit Service |
a1973e |
INTEL_COREDUO_AGENT_UMASKS
|
|
Packit Service |
a1973e |
},
|
|
Packit Service |
a1973e |
.pme_numasks = 4
|
|
Packit Service |
a1973e |
},
|
|
Packit Service |
a1973e |
{ .pme_code = 0x6A,
|
|
Packit Service |
a1973e |
.pme_name = "BUS_TRANS_PWR",
|
|
Packit Service |
a1973e |
.pme_flags = PFMLIB_COREDUO_CSPEC,
|
|
Packit Service |
a1973e |
.pme_desc = "Completed partial write transactions",
|
|
Packit Service |
a1973e |
.pme_umasks = {
|
|
Packit Service |
a1973e |
INTEL_COREDUO_SPECIFICITY_UMASKS,
|
|
Packit Service |
a1973e |
INTEL_COREDUO_AGENT_UMASKS
|
|
Packit Service |
a1973e |
},
|
|
Packit Service |
a1973e |
.pme_numasks = 4
|
|
Packit Service |
a1973e |
},
|
|
Packit Service |
a1973e |
{ .pme_code = 0x6B,
|
|
Packit Service |
a1973e |
.pme_name = "BUS_TRANS_P",
|
|
Packit Service |
a1973e |
.pme_flags = PFMLIB_COREDUO_CSPEC,
|
|
Packit Service |
a1973e |
.pme_desc = "Completed partial transactions (include partial read + partial write + line write)",
|
|
Packit Service |
a1973e |
.pme_umasks = {
|
|
Packit Service |
a1973e |
INTEL_COREDUO_SPECIFICITY_UMASKS,
|
|
Packit Service |
a1973e |
INTEL_COREDUO_AGENT_UMASKS
|
|
Packit Service |
a1973e |
},
|
|
Packit Service |
a1973e |
.pme_numasks = 4
|
|
Packit Service |
a1973e |
},
|
|
Packit Service |
a1973e |
{ .pme_code = 0x6C,
|
|
Packit Service |
a1973e |
.pme_name = "BUS_TRANS_IO",
|
|
Packit Service |
a1973e |
.pme_flags = PFMLIB_COREDUO_CSPEC,
|
|
Packit Service |
a1973e |
.pme_desc = "Completed I/O transactions (read and write)",
|
|
Packit Service |
a1973e |
.pme_umasks = {
|
|
Packit Service |
a1973e |
INTEL_COREDUO_SPECIFICITY_UMASKS,
|
|
Packit Service |
a1973e |
INTEL_COREDUO_AGENT_UMASKS
|
|
Packit Service |
a1973e |
},
|
|
Packit Service |
a1973e |
.pme_numasks = 4
|
|
Packit Service |
a1973e |
},
|
|
Packit Service |
a1973e |
{ .pme_code = 0x206D,
|
|
Packit Service |
a1973e |
.pme_name = "BUS_TRANS_DEF",
|
|
Packit Service |
a1973e |
.pme_flags = PFMLIB_COREDUO_CSPEC,
|
|
Packit Service |
a1973e |
.pme_desc = "Completed defer transactions ",
|
|
Packit Service |
a1973e |
.pme_umasks = {
|
|
Packit Service |
a1973e |
INTEL_COREDUO_SPECIFICITY_UMASKS
|
|
Packit Service |
a1973e |
},
|
|
Packit Service |
a1973e |
.pme_numasks = 2
|
|
Packit Service |
a1973e |
},
|
|
Packit Service |
a1973e |
{ .pme_code = 0xc067,
|
|
Packit Service |
a1973e |
.pme_name = "BUS_TRANS_WB",
|
|
Packit Service |
a1973e |
.pme_desc = "Completed writeback transactions from DCU (does not include L2 writebacks)",
|
|
Packit Service |
a1973e |
.pme_umasks = {
|
|
Packit Service |
a1973e |
INTEL_COREDUO_AGENT_UMASKS
|
|
Packit Service |
a1973e |
},
|
|
Packit Service |
a1973e |
.pme_numasks = 2
|
|
Packit Service |
a1973e |
},
|
|
Packit Service |
a1973e |
{ .pme_code = 0xc06E,
|
|
Packit Service |
a1973e |
.pme_name = "BUS_TRANS_BURST",
|
|
Packit Service |
a1973e |
.pme_desc = "Completed burst transactions (full line transactions include reads, write, RFO, and writebacks) ",
|
|
Packit Service |
a1973e |
/* TODO .pme_umasks = 0xC0, */
|
|
Packit Service |
a1973e |
.pme_umasks = {
|
|
Packit Service |
a1973e |
INTEL_COREDUO_AGENT_UMASKS
|
|
Packit Service |
a1973e |
},
|
|
Packit Service |
a1973e |
.pme_numasks = 2
|
|
Packit Service |
a1973e |
},
|
|
Packit Service |
a1973e |
{ .pme_code = 0xc06F,
|
|
Packit Service |
a1973e |
.pme_name = "BUS_TRANS_MEM",
|
|
Packit Service |
a1973e |
.pme_flags = PFMLIB_COREDUO_CSPEC,
|
|
Packit Service |
a1973e |
.pme_desc = "Completed memory transactions. This includes Bus_Trans_Burst + Bus_Trans_P + Bus_Trans_Inval.",
|
|
Packit Service |
a1973e |
.pme_umasks = {
|
|
Packit Service |
a1973e |
INTEL_COREDUO_AGENT_UMASKS
|
|
Packit Service |
a1973e |
},
|
|
Packit Service |
a1973e |
.pme_numasks = 2
|
|
Packit Service |
a1973e |
},
|
|
Packit Service |
a1973e |
{ .pme_code = 0xc070,
|
|
Packit Service |
a1973e |
.pme_name = "BUS_TRANS_ANY",
|
|
Packit Service |
a1973e |
.pme_desc = "Any completed bus transactions",
|
|
Packit Service |
a1973e |
.pme_umasks = {
|
|
Packit Service |
a1973e |
INTEL_COREDUO_AGENT_UMASKS
|
|
Packit Service |
a1973e |
},
|
|
Packit Service |
a1973e |
.pme_numasks = 2
|
|
Packit Service |
a1973e |
},
|
|
Packit Service |
a1973e |
{ .pme_code = 0x77,
|
|
Packit Service |
a1973e |
.pme_name = "BUS_SNOOPS",
|
|
Packit Service |
a1973e |
.pme_desc = "External bus cycles while bus lock signal asserted",
|
|
Packit Service |
a1973e |
.pme_flags = PFMLIB_COREDUO_MESI,
|
|
Packit Service |
a1973e |
.pme_umasks = {
|
|
Packit Service |
a1973e |
INTEL_COREDUO_MESI_UMASKS,
|
|
Packit Service |
a1973e |
INTEL_COREDUO_AGENT_UMASKS
|
|
Packit Service |
a1973e |
},
|
|
Packit Service |
a1973e |
.pme_numasks = 7
|
|
Packit Service |
a1973e |
},
|
|
Packit Service |
a1973e |
{ .pme_code = 0x0178,
|
|
Packit Service |
a1973e |
.pme_name = "DCU_SNOOP_TO_SHARE",
|
|
Packit Service |
a1973e |
.pme_desc = "DCU snoops to share-state L1 cache line due to L1 misses ",
|
|
Packit Service |
a1973e |
.pme_flags = PFMLIB_COREDUO_CSPEC,
|
|
Packit Service |
a1973e |
.pme_umasks = {
|
|
Packit Service |
a1973e |
INTEL_COREDUO_SPECIFICITY_UMASKS
|
|
Packit Service |
a1973e |
},
|
|
Packit Service |
a1973e |
.pme_numasks = 2
|
|
Packit Service |
a1973e |
},
|
|
Packit Service |
a1973e |
{ .pme_code = 0x7D,
|
|
Packit Service |
a1973e |
.pme_name = "BUS_NOT_IN_USE",
|
|
Packit Service |
a1973e |
.pme_flags = PFMLIB_COREDUO_CSPEC,
|
|
Packit Service |
a1973e |
.pme_desc = "Number of cycles there is no transaction from the core",
|
|
Packit Service |
a1973e |
.pme_umasks = {
|
|
Packit Service |
a1973e |
INTEL_COREDUO_SPECIFICITY_UMASKS
|
|
Packit Service |
a1973e |
},
|
|
Packit Service |
a1973e |
.pme_numasks = 2
|
|
Packit Service |
a1973e |
},
|
|
Packit Service |
a1973e |
{ .pme_code = 0x7E,
|
|
Packit Service |
a1973e |
.pme_name = "BUS_SNOOP_STALL",
|
|
Packit Service |
a1973e |
.pme_desc = "Number of bus cycles while bus snoop is stalled"
|
|
Packit Service |
a1973e |
},
|
|
Packit Service |
a1973e |
{ .pme_code = 0x80,
|
|
Packit Service |
a1973e |
.pme_name = "ICACHE_READS",
|
|
Packit Service |
a1973e |
.pme_desc = "Number of instruction fetches from ICache, streaming buffers (both cacheable and uncacheable fetches)"
|
|
Packit Service |
a1973e |
},
|
|
Packit Service |
a1973e |
{ .pme_code = 0x81,
|
|
Packit Service |
a1973e |
.pme_name = "ICACHE_MISSES",
|
|
Packit Service |
a1973e |
.pme_desc = "Number of instruction fetch misses from ICache, streaming buffers."
|
|
Packit Service |
a1973e |
},
|
|
Packit Service |
a1973e |
{ .pme_code = 0x85,
|
|
Packit Service |
a1973e |
.pme_name = "ITLB_MISSES",
|
|
Packit Service |
a1973e |
.pme_desc = "Number of iITLB misses"
|
|
Packit Service |
a1973e |
},
|
|
Packit Service |
a1973e |
{ .pme_code = 0x86,
|
|
Packit Service |
a1973e |
.pme_name = "IFU_MEM_STALL",
|
|
Packit Service |
a1973e |
.pme_desc = "Cycles IFU is stalled while waiting for data from memory"
|
|
Packit Service |
a1973e |
},
|
|
Packit Service |
a1973e |
{ .pme_code = 0x87,
|
|
Packit Service |
a1973e |
.pme_name = "ILD_STALL",
|
|
Packit Service |
a1973e |
.pme_desc = "Number of instruction length decoder stalls (Counts number of LCP stalls)"
|
|
Packit Service |
a1973e |
},
|
|
Packit Service |
a1973e |
{ .pme_code = 0x88,
|
|
Packit Service |
a1973e |
.pme_name = "BR_INST_EXEC",
|
|
Packit Service |
a1973e |
.pme_desc = "Branch instruction executed (includes speculation)."
|
|
Packit Service |
a1973e |
},
|
|
Packit Service |
a1973e |
{ .pme_code = 0x89,
|
|
Packit Service |
a1973e |
.pme_name = "BR_MISSP_EXEC",
|
|
Packit Service |
a1973e |
.pme_desc = "Branch instructions executed and mispredicted at execution (includes branches that do not have prediction or mispredicted)"
|
|
Packit Service |
a1973e |
},
|
|
Packit Service |
a1973e |
{ .pme_code = 0x8A,
|
|
Packit Service |
a1973e |
.pme_name = "BR_BAC_MISSP_EXEC",
|
|
Packit Service |
a1973e |
.pme_desc = "Branch instructions executed that were mispredicted at front end"
|
|
Packit Service |
a1973e |
},
|
|
Packit Service |
a1973e |
{ .pme_code = 0x8B,
|
|
Packit Service |
a1973e |
.pme_name = "BR_CND_EXEC",
|
|
Packit Service |
a1973e |
.pme_desc = "Conditional branch instructions executed"
|
|
Packit Service |
a1973e |
},
|
|
Packit Service |
a1973e |
{ .pme_code = 0x8C,
|
|
Packit Service |
a1973e |
.pme_name = "BR_CND_MISSP_EXEC",
|
|
Packit Service |
a1973e |
.pme_desc = "Conditional branch instructions executed that were mispredicted"
|
|
Packit Service |
a1973e |
},
|
|
Packit Service |
a1973e |
{ .pme_code = 0x8D,
|
|
Packit Service |
a1973e |
.pme_name = "BR_IND_EXEC",
|
|
Packit Service |
a1973e |
.pme_desc = "Indirect branch instructions executed"
|
|
Packit Service |
a1973e |
},
|
|
Packit Service |
a1973e |
{ .pme_code = 0x8E,
|
|
Packit Service |
a1973e |
.pme_name = "BR_IND_MISSP_EXEC",
|
|
Packit Service |
a1973e |
.pme_desc = "Indirect branch instructions executed that were mispredicted"
|
|
Packit Service |
a1973e |
},
|
|
Packit Service |
a1973e |
{ .pme_code = 0x8F,
|
|
Packit Service |
a1973e |
.pme_name = "BR_RET_EXEC",
|
|
Packit Service |
a1973e |
.pme_desc = "Return branch instructions executed"
|
|
Packit Service |
a1973e |
},
|
|
Packit Service |
a1973e |
{ .pme_code = 0x90,
|
|
Packit Service |
a1973e |
.pme_name = "BR_RET_MISSP_EXEC",
|
|
Packit Service |
a1973e |
.pme_desc = "Return branch instructions executed that were mispredicted"
|
|
Packit Service |
a1973e |
},
|
|
Packit Service |
a1973e |
{ .pme_code = 0x91,
|
|
Packit Service |
a1973e |
.pme_name = "BR_RET_BAC_MISSP_EXEC",
|
|
Packit Service |
a1973e |
.pme_desc = "Return branch instructions executed that were mispredicted at the front end"
|
|
Packit Service |
a1973e |
},
|
|
Packit Service |
a1973e |
{ .pme_code = 0x92,
|
|
Packit Service |
a1973e |
.pme_name = "BR_CALL_EXEC",
|
|
Packit Service |
a1973e |
.pme_desc = "Return call instructions executed"
|
|
Packit Service |
a1973e |
},
|
|
Packit Service |
a1973e |
{ .pme_code = 0x93,
|
|
Packit Service |
a1973e |
.pme_name = "BR_CALL_MISSP_EXEC",
|
|
Packit Service |
a1973e |
.pme_desc = "Return call instructions executed that were mispredicted"
|
|
Packit Service |
a1973e |
},
|
|
Packit Service |
a1973e |
{ .pme_code = 0x94,
|
|
Packit Service |
a1973e |
.pme_name = "BR_IND_CALL_EXEC",
|
|
Packit Service |
a1973e |
.pme_desc = "Indirect call branch instructions executed"
|
|
Packit Service |
a1973e |
},
|
|
Packit Service |
a1973e |
{ .pme_code = 0xA2,
|
|
Packit Service |
a1973e |
.pme_name = "RESOURCE_STALL",
|
|
Packit Service |
a1973e |
.pme_desc = "Cycles while there is a resource related stall (renaming, buffer entries) as seen by allocator"
|
|
Packit Service |
a1973e |
},
|
|
Packit Service |
a1973e |
{ .pme_code = 0xB0,
|
|
Packit Service |
a1973e |
.pme_name = "MMX_INSTR_EXEC",
|
|
Packit Service |
a1973e |
.pme_desc = "Number of MMX instructions executed (does not include MOVQ and MOVD stores)"
|
|
Packit Service |
a1973e |
},
|
|
Packit Service |
a1973e |
{ .pme_code = 0xB1,
|
|
Packit Service |
a1973e |
.pme_name = "SIMD_INT_SAT_EXEC",
|
|
Packit Service |
a1973e |
.pme_desc = "Number of SIMD Integer saturating instructions executed"
|
|
Packit Service |
a1973e |
},
|
|
Packit Service |
a1973e |
{ .pme_code = 0xB3,
|
|
Packit Service |
a1973e |
.pme_name = "SIMD_INT_INSTRUCTIONS",
|
|
Packit Service |
a1973e |
.pme_desc = "Number of SIMD Integer instructions executed",
|
|
Packit Service |
a1973e |
.pme_umasks = {
|
|
Packit Service |
a1973e |
{ .pme_uname = "MUL",
|
|
Packit Service |
a1973e |
.pme_udesc = "Number of SIMD Integer packed multiply instructions executed",
|
|
Packit Service |
a1973e |
.pme_ucode = 0x01
|
|
Packit Service |
a1973e |
},
|
|
Packit Service |
a1973e |
{ .pme_uname = "SHIFT",
|
|
Packit Service |
a1973e |
.pme_udesc = "Number of SIMD Integer packed shift instructions executed",
|
|
Packit Service |
a1973e |
.pme_ucode = 0x02
|
|
Packit Service |
a1973e |
},
|
|
Packit Service |
a1973e |
{ .pme_uname = "PACK",
|
|
Packit Service |
a1973e |
.pme_udesc = "Number of SIMD Integer pack operations instruction executed",
|
|
Packit Service |
a1973e |
.pme_ucode = 0x04
|
|
Packit Service |
a1973e |
},
|
|
Packit Service |
a1973e |
{ .pme_uname = "UNPACK",
|
|
Packit Service |
a1973e |
.pme_udesc = "Number of SIMD Integer unpack instructions executed",
|
|
Packit Service |
a1973e |
.pme_ucode = 0x08
|
|
Packit Service |
a1973e |
},
|
|
Packit Service |
a1973e |
{ .pme_uname = "LOGICAL",
|
|
Packit Service |
a1973e |
.pme_udesc = "Number of SIMD Integer packed logical instructions executed",
|
|
Packit Service |
a1973e |
.pme_ucode = 0x10
|
|
Packit Service |
a1973e |
},
|
|
Packit Service |
a1973e |
{ .pme_uname = "ARITHMETIC",
|
|
Packit Service |
a1973e |
.pme_udesc = "Number of SIMD Integer packed arithmetic instructions executed",
|
|
Packit Service |
a1973e |
.pme_ucode = 0x20
|
|
Packit Service |
a1973e |
}
|
|
Packit Service |
a1973e |
},
|
|
Packit Service |
a1973e |
.pme_numasks = 6
|
|
Packit Service |
a1973e |
},
|
|
Packit Service |
a1973e |
{ .pme_code = 0xC0,
|
|
Packit Service |
a1973e |
.pme_name = "INSTR_RET",
|
|
Packit Service |
a1973e |
.pme_desc = "Number of instruction retired (Macro fused instruction count as 2)"
|
|
Packit Service |
a1973e |
},
|
|
Packit Service |
a1973e |
{ .pme_code = 0xC1,
|
|
Packit Service |
a1973e |
.pme_name = "FP_COMP_INSTR_RET",
|
|
Packit Service |
a1973e |
.pme_desc = "Number of FP compute instructions retired (X87 instruction or instruction that contain X87 operations)",
|
|
Packit Service |
a1973e |
.pme_flags = PFMLIB_COREDUO_PMC0
|
|
Packit Service |
a1973e |
},
|
|
Packit Service |
a1973e |
{ .pme_code = 0xC2,
|
|
Packit Service |
a1973e |
.pme_name = "UOPS_RET",
|
|
Packit Service |
a1973e |
.pme_desc = "Number of micro-ops retired (include fused uops)"
|
|
Packit Service |
a1973e |
},
|
|
Packit Service |
a1973e |
{ .pme_code = 0xC3,
|
|
Packit Service |
a1973e |
.pme_name = "SMC_DETECTED",
|
|
Packit Service |
a1973e |
.pme_desc = "Number of times self-modifying code condition detected"
|
|
Packit Service |
a1973e |
},
|
|
Packit Service |
a1973e |
{ .pme_code = 0xC4,
|
|
Packit Service |
a1973e |
.pme_name = "BR_INSTR_RET",
|
|
Packit Service |
a1973e |
.pme_desc = "Number of branch instructions retired"
|
|
Packit Service |
a1973e |
},
|
|
Packit Service |
a1973e |
{ .pme_code = 0xC5,
|
|
Packit Service |
a1973e |
.pme_name = "BR_MISPRED_RET",
|
|
Packit Service |
a1973e |
.pme_desc = "Number of mispredicted branch instructions retired"
|
|
Packit Service |
a1973e |
},
|
|
Packit Service |
a1973e |
{ .pme_code = 0xC6,
|
|
Packit Service |
a1973e |
.pme_name = "CYCLES_INT_MASKED",
|
|
Packit Service |
a1973e |
.pme_desc = "Cycles while interrupt is disabled"
|
|
Packit Service |
a1973e |
},
|
|
Packit Service |
a1973e |
{ .pme_code = 0xC7,
|
|
Packit Service |
a1973e |
.pme_name = "CYCLES_INT_PEDNING_MASKED",
|
|
Packit Service |
a1973e |
.pme_desc = "Cycles while interrupt is disabled and interrupts are pending"
|
|
Packit Service |
a1973e |
},
|
|
Packit Service |
a1973e |
{ .pme_code = 0xC8,
|
|
Packit Service |
a1973e |
.pme_name = "HW_INT_RX",
|
|
Packit Service |
a1973e |
.pme_desc = "Number of hardware interrupts received"
|
|
Packit Service |
a1973e |
},
|
|
Packit Service |
a1973e |
{ .pme_code = 0xC9,
|
|
Packit Service |
a1973e |
.pme_name = "BR_TAKEN_RET",
|
|
Packit Service |
a1973e |
.pme_desc = "Number of taken branch instruction retired"
|
|
Packit Service |
a1973e |
},
|
|
Packit Service |
a1973e |
{ .pme_code = 0xCA,
|
|
Packit Service |
a1973e |
.pme_name = "BR_MISPRED_TAKEN_RET",
|
|
Packit Service |
a1973e |
.pme_desc = "Number of taken and mispredicted branch instructions retired"
|
|
Packit Service |
a1973e |
},
|
|
Packit Service |
a1973e |
{ .pme_code = 0xCC,
|
|
Packit Service |
a1973e |
.pme_name = "FP_MMX_TRANS",
|
|
Packit Service |
a1973e |
.pme_name = "MMX_FP_TRANS",
|
|
Packit Service |
a1973e |
.pme_desc = "Transitions from MMX (TM) Instructions to Floating Point Instructions",
|
|
Packit Service |
a1973e |
.pme_umasks = {
|
|
Packit Service |
a1973e |
{ .pme_uname = "TO_FP",
|
|
Packit Service |
a1973e |
.pme_udesc = "Number of transitions from MMX to X87",
|
|
Packit Service |
a1973e |
.pme_ucode = 0x00
|
|
Packit Service |
a1973e |
},
|
|
Packit Service |
a1973e |
{ .pme_uname = "TO_MMX",
|
|
Packit Service |
a1973e |
.pme_udesc = "Number of transitions from X87 to MMX",
|
|
Packit Service |
a1973e |
.pme_ucode = 0x01
|
|
Packit Service |
a1973e |
}
|
|
Packit Service |
a1973e |
},
|
|
Packit Service |
a1973e |
.pme_numasks = 2
|
|
Packit Service |
a1973e |
},
|
|
Packit Service |
a1973e |
{ .pme_code = 0xCD,
|
|
Packit Service |
a1973e |
.pme_name = "MMX_ASSIST",
|
|
Packit Service |
a1973e |
.pme_desc = "Number of EMMS executed"
|
|
Packit Service |
a1973e |
},
|
|
Packit Service |
a1973e |
{ .pme_code = 0xCE,
|
|
Packit Service |
a1973e |
.pme_name = "MMX_INSTR_RET",
|
|
Packit Service |
a1973e |
.pme_desc = "Number of MMX instruction retired"
|
|
Packit Service |
a1973e |
},
|
|
Packit Service |
a1973e |
{ .pme_code = 0xD0,
|
|
Packit Service |
a1973e |
.pme_name = "INSTR_DECODED",
|
|
Packit Service |
a1973e |
.pme_desc = "Number of instruction decoded"
|
|
Packit Service |
a1973e |
},
|
|
Packit Service |
a1973e |
{ .pme_code = 0xD7,
|
|
Packit Service |
a1973e |
.pme_name = "ESP_UOPS",
|
|
Packit Service |
a1973e |
.pme_desc = "Number of ESP folding instruction decoded"
|
|
Packit Service |
a1973e |
},
|
|
Packit Service |
a1973e |
{ .pme_code = 0xD8,
|
|
Packit Service |
a1973e |
.pme_name = "SSE_INSTRUCTIONS_RETIRED",
|
|
Packit Service |
a1973e |
.pme_desc = "Number of SSE/SSE2 instructions retired (packed and scalar)",
|
|
Packit Service |
a1973e |
.pme_umasks = {
|
|
Packit Service |
a1973e |
{ .pme_uname = "SINGLE",
|
|
Packit Service |
a1973e |
.pme_udesc = "Number of SSE/SSE2 single precision instructions retired (packed and scalar)",
|
|
Packit Service |
a1973e |
.pme_ucode = 0x00
|
|
Packit Service |
a1973e |
},
|
|
Packit Service |
a1973e |
{ .pme_uname = "SCALAR_SINGLE",
|
|
Packit Service |
a1973e |
.pme_udesc = "Number of SSE/SSE2 scalar single precision instructions retired",
|
|
Packit Service |
a1973e |
.pme_ucode = 0x01,
|
|
Packit Service |
a1973e |
},
|
|
Packit Service |
a1973e |
{ .pme_uname = "PACKED_DOUBLE",
|
|
Packit Service |
a1973e |
.pme_udesc = "Number of SSE/SSE2 packed double percision instructions retired",
|
|
Packit Service |
a1973e |
.pme_ucode = 0x02,
|
|
Packit Service |
a1973e |
},
|
|
Packit Service |
a1973e |
{ .pme_uname = "DOUBLE",
|
|
Packit Service |
a1973e |
.pme_udesc = "Number of SSE/SSE2 scalar double percision instructions retired",
|
|
Packit Service |
a1973e |
.pme_ucode = 0x03,
|
|
Packit Service |
a1973e |
},
|
|
Packit Service |
a1973e |
{ .pme_uname = "INT_128",
|
|
Packit Service |
a1973e |
.pme_udesc = "Number of SSE2 128 bit integer instructions retired",
|
|
Packit Service |
a1973e |
.pme_ucode = 0x04,
|
|
Packit Service |
a1973e |
},
|
|
Packit Service |
a1973e |
},
|
|
Packit Service |
a1973e |
.pme_numasks = 5
|
|
Packit Service |
a1973e |
},
|
|
Packit Service |
a1973e |
{ .pme_code = 0xD9,
|
|
Packit Service |
a1973e |
.pme_name = "SSE_COMP_INSTRUCTIONS_RETIRED",
|
|
Packit Service |
a1973e |
.pme_desc = "Number of computational SSE/SSE2 instructions retired (does not include AND, OR, XOR)",
|
|
Packit Service |
a1973e |
.pme_umasks = {
|
|
Packit Service |
a1973e |
{ .pme_uname = "PACKED_SINGLE",
|
|
Packit Service |
a1973e |
.pme_udesc = "Number of SSE/SSE2 packed single precision compute instructions retired (does not include AND, OR, XOR)",
|
|
Packit Service |
a1973e |
.pme_ucode = 0x00
|
|
Packit Service |
a1973e |
},
|
|
Packit Service |
a1973e |
{ .pme_uname = "SCALAR_SINGLE",
|
|
Packit Service |
a1973e |
.pme_udesc = "Number of SSE/SSE2 scalar single precision compute instructions retired (does not include AND, OR, XOR)",
|
|
Packit Service |
a1973e |
.pme_ucode = 0x01
|
|
Packit Service |
a1973e |
},
|
|
Packit Service |
a1973e |
{ .pme_uname = "PACKED_DOUBLE",
|
|
Packit Service |
a1973e |
.pme_udesc = "Number of SSE/SSE2 packed double precision compute instructions retired (does not include AND, OR, XOR)",
|
|
Packit Service |
a1973e |
.pme_ucode = 0x02
|
|
Packit Service |
a1973e |
},
|
|
Packit Service |
a1973e |
{ .pme_uname = "SCALAR_DOUBLE",
|
|
Packit Service |
a1973e |
.pme_udesc = "Number of SSE/SSE2 scalar double precision compute instructions retired (does not include AND, OR, XOR)",
|
|
Packit Service |
a1973e |
.pme_ucode = 0x03
|
|
Packit Service |
a1973e |
}
|
|
Packit Service |
a1973e |
},
|
|
Packit Service |
a1973e |
.pme_numasks = 4
|
|
Packit Service |
a1973e |
},
|
|
Packit Service |
a1973e |
{ .pme_code = 0xDA,
|
|
Packit Service |
a1973e |
.pme_name = "FUSED_UOPS",
|
|
Packit Service |
a1973e |
.pme_desc = "fused uops retired",
|
|
Packit Service |
a1973e |
.pme_umasks = {
|
|
Packit Service |
a1973e |
{ .pme_uname = "ALL",
|
|
Packit Service |
a1973e |
.pme_udesc = "All fused uops retired",
|
|
Packit Service |
a1973e |
.pme_ucode = 0x00
|
|
Packit Service |
a1973e |
},
|
|
Packit Service |
a1973e |
{ .pme_uname = "LOADS",
|
|
Packit Service |
a1973e |
.pme_udesc = "Fused load uops retired",
|
|
Packit Service |
a1973e |
.pme_ucode = 0x01
|
|
Packit Service |
a1973e |
},
|
|
Packit Service |
a1973e |
{ .pme_uname = "STORES",
|
|
Packit Service |
a1973e |
.pme_udesc = "Fused load uops retired",
|
|
Packit Service |
a1973e |
.pme_ucode = 0x02
|
|
Packit Service |
a1973e |
},
|
|
Packit Service |
a1973e |
},
|
|
Packit Service |
a1973e |
.pme_numasks = 3
|
|
Packit Service |
a1973e |
},
|
|
Packit Service |
a1973e |
{ .pme_code = 0xDB,
|
|
Packit Service |
a1973e |
.pme_name = "UNFUSION",
|
|
Packit Service |
a1973e |
.pme_desc = "Number of unfusion events in the ROB (due to exception)"
|
|
Packit Service |
a1973e |
},
|
|
Packit Service |
a1973e |
{ .pme_code = 0xE0,
|
|
Packit Service |
a1973e |
.pme_name = "BR_INSTR_DECODED",
|
|
Packit Service |
a1973e |
.pme_desc = "Branch instructions decoded"
|
|
Packit Service |
a1973e |
},
|
|
Packit Service |
a1973e |
{ .pme_code = 0xE2,
|
|
Packit Service |
a1973e |
.pme_name = "BTB_MISSES",
|
|
Packit Service |
a1973e |
.pme_desc = "Number of branches the BTB did not produce a prediction"
|
|
Packit Service |
a1973e |
},
|
|
Packit Service |
a1973e |
{ .pme_code = 0xE4,
|
|
Packit Service |
a1973e |
.pme_name = "BR_BOGUS",
|
|
Packit Service |
a1973e |
.pme_desc = "Number of bogus branches"
|
|
Packit Service |
a1973e |
},
|
|
Packit Service |
a1973e |
{ .pme_code = 0xE6,
|
|
Packit Service |
a1973e |
.pme_name = "BACLEARS",
|
|
Packit Service |
a1973e |
.pme_desc = "Number of BAClears asserted"
|
|
Packit Service |
a1973e |
},
|
|
Packit Service |
a1973e |
{ .pme_code = 0xF0,
|
|
Packit Service |
a1973e |
.pme_name = "PREF_RQSTS_UP",
|
|
Packit Service |
a1973e |
.pme_desc = "Number of hardware prefetch requests issued in forward streams"
|
|
Packit Service |
a1973e |
},
|
|
Packit Service |
a1973e |
{ .pme_code = 0xF8,
|
|
Packit Service |
a1973e |
.pme_name = "PREF_RQSTS_DN",
|
|
Packit Service |
a1973e |
.pme_desc = "Number of hardware prefetch requests issued in backward streams"
|
|
Packit Service |
a1973e |
}
|
|
Packit Service |
a1973e |
};
|
|
Packit Service |
a1973e |
|
|
Packit Service |
a1973e |
|
|
Packit Service |
a1973e |
#define PME_COREDUO_UNHALTED_CORE_CYCLES 0
|
|
Packit Service |
a1973e |
#define PME_COREDUO_INSTRUCTIONS_RETIRED 2
|
|
Packit Service |
a1973e |
#define PME_COREDUO_EVENT_COUNT (sizeof(coreduo_pe)/sizeof(pme_coreduo_entry_t))
|