|
Packit Service |
a1973e |
/*
|
|
Packit Service |
a1973e |
* Copyright (c) 2010 Google, Inc
|
|
Packit Service |
a1973e |
* Contributed by Stephane Eranian <eranian@gmail.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 |
static pme_nhm_entry_t wsm_pe[]={
|
|
Packit Service |
a1973e |
/*
|
|
Packit Service |
a1973e |
* BEGIN architected events
|
|
Packit Service |
a1973e |
*/
|
|
Packit Service |
a1973e |
{.pme_name = "UNHALTED_CORE_CYCLES",
|
|
Packit Service |
a1973e |
.pme_code = 0x003c,
|
|
Packit Service |
a1973e |
.pme_cntmsk = 0x2000f,
|
|
Packit Service |
a1973e |
.pme_flags = PFMLIB_NHM_FIXED1,
|
|
Packit Service |
a1973e |
.pme_desc = "count core clock cycles whenever the clock signal on the specific core is running (not halted). Alias to event CPU_CLK_UNHALTED:THREAD"
|
|
Packit Service |
a1973e |
},
|
|
Packit Service |
a1973e |
{.pme_name = "INSTRUCTION_RETIRED",
|
|
Packit Service |
a1973e |
.pme_code = 0x00c0,
|
|
Packit Service |
a1973e |
.pme_cntmsk = 0x1000f,
|
|
Packit Service |
a1973e |
.pme_flags = PFMLIB_NHM_FIXED0|PFMLIB_NHM_PEBS,
|
|
Packit Service |
a1973e |
.pme_desc = "count the number of instructions at retirement. Alias to event INST_RETIRED:ANY_P",
|
|
Packit Service |
a1973e |
},
|
|
Packit Service |
a1973e |
{.pme_name = "INSTRUCTIONS_RETIRED",
|
|
Packit Service |
a1973e |
.pme_code = 0x00c0,
|
|
Packit Service |
a1973e |
.pme_cntmsk = 0x1000f,
|
|
Packit Service |
a1973e |
.pme_flags = PFMLIB_NHM_FIXED0|PFMLIB_NHM_PEBS,
|
|
Packit Service |
a1973e |
.pme_desc = "This is an alias for INSTRUCTION_RETIRED",
|
|
Packit Service |
a1973e |
},
|
|
Packit Service |
a1973e |
{.pme_name = "UNHALTED_REFERENCE_CYCLES",
|
|
Packit Service |
a1973e |
.pme_code = 0x013c,
|
|
Packit Service |
a1973e |
.pme_cntmsk = 0x40000,
|
|
Packit Service |
a1973e |
.pme_flags = PFMLIB_NHM_FIXED2_ONLY,
|
|
Packit Service |
a1973e |
.pme_desc = "Unhalted reference cycles",
|
|
Packit Service |
a1973e |
},
|
|
Packit Service |
a1973e |
{.pme_name = "LLC_REFERENCES",
|
|
Packit Service |
a1973e |
.pme_code = 0x4f2e,
|
|
Packit Service |
a1973e |
.pme_cntmsk = 0xf,
|
|
Packit Service |
a1973e |
.pme_desc = "count each request originating from the core to reference a cache line in the last level cache. The count may include speculation, but excludes cache line fills due to hardware prefetch. Alias to L2_RQSTS:SELF_DEMAND_MESI",
|
|
Packit Service |
a1973e |
},
|
|
Packit Service |
a1973e |
{.pme_name = "LAST_LEVEL_CACHE_REFERENCES",
|
|
Packit Service |
a1973e |
.pme_code = 0x4f2e,
|
|
Packit Service |
a1973e |
.pme_cntmsk = 0xf,
|
|
Packit Service |
a1973e |
.pme_desc = "This is an alias for LLC_REFERENCES",
|
|
Packit Service |
a1973e |
},
|
|
Packit Service |
a1973e |
{.pme_name = "LLC_MISSES",
|
|
Packit Service |
a1973e |
.pme_code = 0x412e,
|
|
Packit Service |
a1973e |
.pme_cntmsk = 0xf,
|
|
Packit Service |
a1973e |
.pme_desc = "count each cache miss condition for references to the last level cache. The event count may include speculation, but excludes cache line fills due to hardware prefetch. Alias to event L2_RQSTS:SELF_DEMAND_I_STATE",
|
|
Packit Service |
a1973e |
},
|
|
Packit Service |
a1973e |
{.pme_name = "LAST_LEVEL_CACHE_MISSES",
|
|
Packit Service |
a1973e |
.pme_code = 0x412e,
|
|
Packit Service |
a1973e |
.pme_cntmsk = 0xf,
|
|
Packit Service |
a1973e |
.pme_desc = "This is an alias for LLC_MISSES",
|
|
Packit Service |
a1973e |
},
|
|
Packit Service |
a1973e |
{.pme_name = "BRANCH_INSTRUCTIONS_RETIRED",
|
|
Packit Service |
a1973e |
.pme_code = 0x00c4,
|
|
Packit Service |
a1973e |
.pme_cntmsk = 0xf,
|
|
Packit Service |
a1973e |
.pme_desc = "count branch instructions at retirement. Specifically, this event counts the retirement of the last micro-op of a branch instruction. Alias to event BR_INST_RETIRED:ANY",
|
|
Packit Service |
a1973e |
},
|
|
Packit Service |
a1973e |
/*
|
|
Packit Service |
a1973e |
* BEGIN core specific events
|
|
Packit Service |
a1973e |
*/
|
|
Packit Service |
a1973e |
{ .pme_name = "UOPS_DECODED",
|
|
Packit Service |
a1973e |
.pme_desc = "micro-ops decoded",
|
|
Packit Service |
a1973e |
.pme_code = 0xD1,
|
|
Packit Service |
a1973e |
.pme_flags = PFMLIB_NHM_UMASK_NCOMBO,
|
|
Packit Service |
a1973e |
.pme_umasks = {
|
|
Packit Service |
a1973e |
{ .pme_uname = "ESP_FOLDING",
|
|
Packit Service |
a1973e |
.pme_udesc = "Stack pointer instructions decoded",
|
|
Packit Service |
a1973e |
.pme_ucode = 0x4,
|
|
Packit Service |
a1973e |
.pme_uflags = 0,
|
|
Packit Service |
a1973e |
},
|
|
Packit Service |
a1973e |
{ .pme_uname = "ESP_SYNC",
|
|
Packit Service |
a1973e |
.pme_udesc = "Stack pointer sync operations",
|
|
Packit Service |
a1973e |
.pme_ucode = 0x8,
|
|
Packit Service |
a1973e |
.pme_uflags = 0,
|
|
Packit Service |
a1973e |
},
|
|
Packit Service |
a1973e |
{ .pme_uname = "MS_CYCLES_ACTIVE",
|
|
Packit Service |
a1973e |
.pme_udesc = "cycles in which at least one uop is decoded by Microcode Sequencer",
|
|
Packit Service |
a1973e |
.pme_ucode = 0x2 | (1<< 16), /* counter-mask = 1 */
|
|
Packit Service |
a1973e |
.pme_uflags = 0,
|
|
Packit Service |
a1973e |
},
|
|
Packit Service |
a1973e |
{ .pme_uname = "STALL_CYCLES",
|
|
Packit Service |
a1973e |
.pme_udesc = "Cycles no Uops are decoded",
|
|
Packit Service |
a1973e |
.pme_ucode = 0x1 | (1<<16) | (1<<15), /* inv=1, counter-mask=1 */
|
|
Packit Service |
a1973e |
.pme_uflags = 0,
|
|
Packit Service |
a1973e |
},
|
|
Packit Service |
a1973e |
},
|
|
Packit Service |
a1973e |
.pme_numasks = 4
|
|
Packit Service |
a1973e |
},
|
|
Packit Service |
a1973e |
{ .pme_name = "L1D_CACHE_LOCK_FB_HIT",
|
|
Packit Service |
a1973e |
.pme_desc = "L1D cacheable load lock speculated or retired accepted into the fill buffer",
|
|
Packit Service |
a1973e |
.pme_code = 0x0152,
|
|
Packit Service |
a1973e |
.pme_flags = 0,
|
|
Packit Service |
a1973e |
},
|
|
Packit Service |
a1973e |
{ .pme_name = "BPU_CLEARS",
|
|
Packit Service |
a1973e |
.pme_desc = "Branch Prediciton Unit clears",
|
|
Packit Service |
a1973e |
.pme_code = 0xE8,
|
|
Packit Service |
a1973e |
.pme_flags = PFMLIB_NHM_UMASK_NCOMBO,
|
|
Packit Service |
a1973e |
.pme_umasks = {
|
|
Packit Service |
a1973e |
{ .pme_uname = "EARLY",
|
|
Packit Service |
a1973e |
.pme_udesc = "Early Branch Prediciton Unit clears",
|
|
Packit Service |
a1973e |
.pme_ucode = 0x1,
|
|
Packit Service |
a1973e |
.pme_uflags = 0,
|
|
Packit Service |
a1973e |
},
|
|
Packit Service |
a1973e |
{ .pme_uname = "LATE",
|
|
Packit Service |
a1973e |
.pme_udesc = "Late Branch Prediction Unit clears",
|
|
Packit Service |
a1973e |
.pme_ucode = 0x2,
|
|
Packit Service |
a1973e |
.pme_uflags = 0,
|
|
Packit Service |
a1973e |
},
|
|
Packit Service |
a1973e |
},
|
|
Packit Service |
a1973e |
.pme_numasks = 2
|
|
Packit Service |
a1973e |
},
|
|
Packit Service |
a1973e |
{ .pme_name = "UOPS_RETIRED",
|
|
Packit Service |
a1973e |
.pme_desc = "Cycles Uops are being retired",
|
|
Packit Service |
a1973e |
.pme_code = 0xC2,
|
|
Packit Service |
a1973e |
.pme_flags = PFMLIB_NHM_PEBS|PFMLIB_NHM_UMASK_NCOMBO,
|
|
Packit Service |
a1973e |
.pme_umasks = {
|
|
Packit Service |
a1973e |
{ .pme_uname = "ANY",
|
|
Packit Service |
a1973e |
.pme_udesc = "Uops retired (Precise Event)",
|
|
Packit Service |
a1973e |
.pme_ucode = 0x1,
|
|
Packit Service |
a1973e |
.pme_uflags = 0,
|
|
Packit Service |
a1973e |
},
|
|
Packit Service |
a1973e |
{ .pme_uname = "MACRO_FUSED",
|
|
Packit Service |
a1973e |
.pme_udesc = "Macro-fused Uops retired (Precise Event)",
|
|
Packit Service |
a1973e |
.pme_ucode = 0x4,
|
|
Packit Service |
a1973e |
.pme_uflags = 0,
|
|
Packit Service |
a1973e |
},
|
|
Packit Service |
a1973e |
{ .pme_uname = "RETIRE_SLOTS",
|
|
Packit Service |
a1973e |
.pme_udesc = "Retirement slots used (Precise Event)",
|
|
Packit Service |
a1973e |
.pme_ucode = 0x2,
|
|
Packit Service |
a1973e |
.pme_uflags = 0,
|
|
Packit Service |
a1973e |
},
|
|
Packit Service |
a1973e |
{ .pme_uname = "STALL_CYCLES",
|
|
Packit Service |
a1973e |
.pme_udesc = "Cycles Uops are not retiring (Precise Event)",
|
|
Packit Service |
a1973e |
.pme_ucode = 0x01 | (1<<16) | (1<<15), /* counter-mask=1, inv=1 */
|
|
Packit Service |
a1973e |
.pme_uflags = 0,
|
|
Packit Service |
a1973e |
},
|
|
Packit Service |
a1973e |
{ .pme_uname = "TOTAL_CYCLES",
|
|
Packit Service |
a1973e |
.pme_udesc = "Total cycles using precise uop retired event (Precise Event)",
|
|
Packit Service |
a1973e |
.pme_ucode = 0x01 | (1<< 16), /* counter mask = 1 */
|
|
Packit Service |
a1973e |
.pme_uflags = PFMLIB_NHM_PEBS,
|
|
Packit Service |
a1973e |
},
|
|
Packit Service |
a1973e |
{ .pme_uname = "ACTIVE_CYCLES",
|
|
Packit Service |
a1973e |
.pme_udesc = "Alias for TOTAL_CYCLES",
|
|
Packit Service |
a1973e |
.pme_ucode = 0x01 | (1<< 16), /* counter mask = 1 */
|
|
Packit Service |
a1973e |
.pme_uflags = PFMLIB_NHM_PEBS,
|
|
Packit Service |
a1973e |
},
|
|
Packit Service |
a1973e |
},
|
|
Packit Service |
a1973e |
.pme_numasks = 6
|
|
Packit Service |
a1973e |
},
|
|
Packit Service |
a1973e |
{ .pme_name = "BR_MISP_RETIRED",
|
|
Packit Service |
a1973e |
.pme_desc = "Mispredicted retired branches",
|
|
Packit Service |
a1973e |
.pme_code = 0xC5,
|
|
Packit Service |
a1973e |
.pme_flags = PFMLIB_NHM_PEBS|PFMLIB_NHM_UMASK_NCOMBO,
|
|
Packit Service |
a1973e |
.pme_umasks = {
|
|
Packit Service |
a1973e |
{ .pme_uname = "ALL_BRANCHES",
|
|
Packit Service |
a1973e |
.pme_udesc = "Mispredicted retired branch instructions",
|
|
Packit Service |
a1973e |
.pme_ucode = 0x4,
|
|
Packit Service |
a1973e |
.pme_uflags = 0,
|
|
Packit Service |
a1973e |
},
|
|
Packit Service |
a1973e |
{ .pme_uname = "NEAR_CALL",
|
|
Packit Service |
a1973e |
.pme_udesc = "Mispredicted near retired calls",
|
|
Packit Service |
a1973e |
.pme_ucode = 0x2,
|
|
Packit Service |
a1973e |
.pme_uflags = 0,
|
|
Packit Service |
a1973e |
},
|
|
Packit Service |
a1973e |
{ .pme_uname = "CONDITIONAL",
|
|
Packit Service |
a1973e |
.pme_udesc = "Mispredicted conditional branches retired",
|
|
Packit Service |
a1973e |
.pme_ucode = 0x1,
|
|
Packit Service |
a1973e |
.pme_uflags = 0,
|
|
Packit Service |
a1973e |
}
|
|
Packit Service |
a1973e |
},
|
|
Packit Service |
a1973e |
.pme_numasks = 3
|
|
Packit Service |
a1973e |
},
|
|
Packit Service |
a1973e |
{ .pme_name = "EPT",
|
|
Packit Service |
a1973e |
.pme_desc = "Extended Page Table",
|
|
Packit Service |
a1973e |
.pme_code = 0x4F,
|
|
Packit Service |
a1973e |
.pme_flags = PFMLIB_NHM_UMASK_NCOMBO,
|
|
Packit Service |
a1973e |
.pme_umasks = {
|
|
Packit Service |
a1973e |
{ .pme_uname = "WALK_CYCLES",
|
|
Packit Service |
a1973e |
.pme_udesc = "Extended Page Table walk cycles",
|
|
Packit Service |
a1973e |
.pme_ucode = 0x10,
|
|
Packit Service |
a1973e |
.pme_uflags = 0,
|
|
Packit Service |
a1973e |
},
|
|
Packit Service |
a1973e |
},
|
|
Packit Service |
a1973e |
.pme_numasks = 1
|
|
Packit Service |
a1973e |
},
|
|
Packit Service |
a1973e |
{ .pme_name = "UOPS_EXECUTED",
|
|
Packit Service |
a1973e |
.pme_desc = "micro-ops executed",
|
|
Packit Service |
a1973e |
.pme_code = 0xB1,
|
|
Packit Service |
a1973e |
.pme_flags = PFMLIB_NHM_UMASK_NCOMBO,
|
|
Packit Service |
a1973e |
.pme_umasks = {
|
|
Packit Service |
a1973e |
{ .pme_uname = "PORT0",
|
|
Packit Service |
a1973e |
.pme_udesc = "Uops executed on port 0 (integer arithmetic, SIMD and FP add uops)",
|
|
Packit Service |
a1973e |
.pme_ucode = 0x01,
|
|
Packit Service |
a1973e |
.pme_uflags = 0,
|
|
Packit Service |
a1973e |
},
|
|
Packit Service |
a1973e |
{ .pme_uname = "PORT1",
|
|
Packit Service |
a1973e |
.pme_udesc = "Uops executed on port 1 (integer arithmetic, SIMD, integer shift, FP multiply, FP divide uops)",
|
|
Packit Service |
a1973e |
.pme_ucode = 0x02,
|
|
Packit Service |
a1973e |
.pme_uflags = 0,
|
|
Packit Service |
a1973e |
},
|
|
Packit Service |
a1973e |
{ .pme_uname = "PORT2_CORE",
|
|
Packit Service |
a1973e |
.pme_udesc = "Uops executed on port 2 from any thread (load uops) (core count only)",
|
|
Packit Service |
a1973e |
.pme_ucode = 0x04 | (1<< 13), /* any=1 */
|
|
Packit Service |
a1973e |
.pme_uflags = 0,
|
|
Packit Service |
a1973e |
},
|
|
Packit Service |
a1973e |
{ .pme_uname = "PORT3_CORE",
|
|
Packit Service |
a1973e |
.pme_udesc = "Uops executed on port 3 from any thread (store uops) (core count only)",
|
|
Packit Service |
a1973e |
.pme_ucode = 0x08 | (1<<13), /* any=1 */
|
|
Packit Service |
a1973e |
.pme_uflags = 0,
|
|
Packit Service |
a1973e |
},
|
|
Packit Service |
a1973e |
{ .pme_uname = "PORT4_CORE",
|
|
Packit Service |
a1973e |
.pme_udesc = "Uops executed on port 4 from any thread (handle store values for stores on port 3) (core count only)",
|
|
Packit Service |
a1973e |
.pme_ucode = 0x10 | (1<<13), /* any=1 */
|
|
Packit Service |
a1973e |
.pme_uflags = 0,
|
|
Packit Service |
a1973e |
},
|
|
Packit Service |
a1973e |
{ .pme_uname = "PORT5",
|
|
Packit Service |
a1973e |
.pme_udesc = "Uops executed on port 5",
|
|
Packit Service |
a1973e |
.pme_ucode = 0x20,
|
|
Packit Service |
a1973e |
.pme_uflags = 0,
|
|
Packit Service |
a1973e |
},
|
|
Packit Service |
a1973e |
{ .pme_uname = "PORT015",
|
|
Packit Service |
a1973e |
.pme_udesc = "Uops issued on ports 0, 1 or 5",
|
|
Packit Service |
a1973e |
.pme_ucode = 0x40,
|
|
Packit Service |
a1973e |
.pme_uflags = 0,
|
|
Packit Service |
a1973e |
},
|
|
Packit Service |
a1973e |
{ .pme_uname = "PORT234_CORE",
|
|
Packit Service |
a1973e |
.pme_udesc = "Uops issued on ports 2, 3 or 4 from any thread (core count only)",
|
|
Packit Service |
a1973e |
.pme_ucode = 0x80 | (1<<13), /* any=1 */
|
|
Packit Service |
a1973e |
.pme_uflags = 0,
|
|
Packit Service |
a1973e |
},
|
|
Packit Service |
a1973e |
{ .pme_uname = "PORT015_STALL_CYCLES",
|
|
Packit Service |
a1973e |
.pme_udesc = "Cycles no Uops issued on ports 0, 1 or 5",
|
|
Packit Service |
a1973e |
.pme_ucode = 0x40 | (1<<16) | (1<<15), /* counter-mask=1, inv=1 */
|
|
Packit Service |
a1973e |
.pme_uflags = 0,
|
|
Packit Service |
a1973e |
},
|
|
Packit Service |
a1973e |
{ .pme_uname = "CORE_ACTIVE_CYCLES_NO_PORT5",
|
|
Packit Service |
a1973e |
.pme_udesc = "Cycles in which uops are executed only on port0-4 on any thread (core count only)",
|
|
Packit Service |
a1973e |
.pme_ucode = 0x1f | (1<<13) | (1<<16), /* counter-mask = 1, any=1 */
|
|
Packit Service |
a1973e |
},
|
|
Packit Service |
a1973e |
{ .pme_uname = "CORE_ACTIVE_CYCLES",
|
|
Packit Service |
a1973e |
.pme_udesc = "Cycles in which uops are executed on any port any thread (core count only)",
|
|
Packit Service |
a1973e |
.pme_ucode = 0x3f | (1<<13) | (1<<16), /* counter-mask = 1, any=1 */
|
|
Packit Service |
a1973e |
},
|
|
Packit Service |
a1973e |
{ .pme_uname = "CORE_STALL_CYCLES",
|
|
Packit Service |
a1973e |
.pme_udesc = "Cycles in which no uops are executed on any port any thread (core count only)",
|
|
Packit Service |
a1973e |
.pme_ucode = 0x3f | (1<<13) | (1<<15) | (1<<16), /* counter-mask = 1, inv = 1,any=1 */
|
|
Packit Service |
a1973e |
},
|
|
Packit Service |
a1973e |
{ .pme_uname = "CORE_STALL_CYCLES_NO_PORT5",
|
|
Packit Service |
a1973e |
.pme_udesc = "Cycles in which no uops are executed on any port0-4 on any thread (core count only)",
|
|
Packit Service |
a1973e |
.pme_ucode = 0x1f | (1<<13) | (1<<15) | (1<<16), /* counter-mask = 1, inv = 1,any=1 */
|
|
Packit Service |
a1973e |
},
|
|
Packit Service |
a1973e |
{ .pme_uname = "CORE_STALL_COUNT",
|
|
Packit Service |
a1973e |
.pme_udesc = "number of transitions from stalled to uops to execute on any port any thread(core count only)",
|
|
Packit Service |
a1973e |
.pme_ucode = 0x3f | (1<<13) | (1<<15) | (1<<16) | (1<<10), /* counter-mask = 1, inv = 1, any=1, edge=1 */
|
|
Packit Service |
a1973e |
},
|
|
Packit Service |
a1973e |
{ .pme_uname = "CORE_STALL_COUNT_NO_PORT5",
|
|
Packit Service |
a1973e |
.pme_udesc = "number of transitions from stalled to uops to execute on port0-4 on any thread (core count only)",
|
|
Packit Service |
a1973e |
.pme_ucode = 0x1f | (1<<13) | (1<<15) | (1<<16) | (1<<10), /* counter-mask = 1, inv = 1, any=1, edge=1 */
|
|
Packit Service |
a1973e |
},
|
|
Packit Service |
a1973e |
},
|
|
Packit Service |
a1973e |
.pme_numasks = 15
|
|
Packit Service |
a1973e |
},
|
|
Packit Service |
a1973e |
{ .pme_name = "IO_TRANSACTIONS",
|
|
Packit Service |
a1973e |
.pme_desc = "I/O transactions",
|
|
Packit Service |
a1973e |
.pme_code = 0x016C,
|
|
Packit Service |
a1973e |
.pme_flags = 0,
|
|
Packit Service |
a1973e |
},
|
|
Packit Service |
a1973e |
{ .pme_name = "ES_REG_RENAMES",
|
|
Packit Service |
a1973e |
.pme_desc = "ES segment renames",
|
|
Packit Service |
a1973e |
.pme_code = 0x01D5,
|
|
Packit Service |
a1973e |
.pme_flags = 0,
|
|
Packit Service |
a1973e |
},
|
|
Packit Service |
a1973e |
{ .pme_name = "INST_RETIRED",
|
|
Packit Service |
a1973e |
.pme_desc = "Instructions retired",
|
|
Packit Service |
a1973e |
.pme_code = 0xC0,
|
|
Packit Service |
a1973e |
.pme_flags = PFMLIB_NHM_PEBS|PFMLIB_NHM_UMASK_NCOMBO,
|
|
Packit Service |
a1973e |
.pme_umasks = {
|
|
Packit Service |
a1973e |
{ .pme_uname = "ANY_P",
|
|
Packit Service |
a1973e |
.pme_udesc = "Instructions Retired (Precise Event)",
|
|
Packit Service |
a1973e |
.pme_ucode = 0x00,
|
|
Packit Service |
a1973e |
.pme_uflags = 0,
|
|
Packit Service |
a1973e |
},
|
|
Packit Service |
a1973e |
{ .pme_uname = "X87",
|
|
Packit Service |
a1973e |
.pme_udesc = "Retired floating-point operations (Precise Event)",
|
|
Packit Service |
a1973e |
.pme_ucode = 0x02,
|
|
Packit Service |
a1973e |
.pme_uflags = 0,
|
|
Packit Service |
a1973e |
},
|
|
Packit Service |
a1973e |
{ .pme_uname = "MMX",
|
|
Packit Service |
a1973e |
.pme_udesc = "Retired MMX instructions (Precise Event)",
|
|
Packit Service |
a1973e |
.pme_ucode = 0x4,
|
|
Packit Service |
a1973e |
.pme_uflags = 0,
|
|
Packit Service |
a1973e |
},
|
|
Packit Service |
a1973e |
{ .pme_uname = "TOTAL_CYCLES",
|
|
Packit Service |
a1973e |
.pme_udesc = "Total cycles (Precise Event)",
|
|
Packit Service |
a1973e |
.pme_ucode = 0x1 | (16 << 16) | (1 <<15), /* inv=1, cmask = 16 */
|
|
Packit Service |
a1973e |
.pme_uflags = 0,
|
|
Packit Service |
a1973e |
},
|
|
Packit Service |
a1973e |
},
|
|
Packit Service |
a1973e |
.pme_numasks = 4
|
|
Packit Service |
a1973e |
},
|
|
Packit Service |
a1973e |
{ .pme_name = "ILD_STALL",
|
|
Packit Service |
a1973e |
.pme_desc = "Instruction Length Decoder stalls",
|
|
Packit Service |
a1973e |
.pme_code = 0x87,
|
|
Packit Service |
a1973e |
.pme_flags = PFMLIB_NHM_UMASK_NCOMBO,
|
|
Packit Service |
a1973e |
.pme_umasks = {
|
|
Packit Service |
a1973e |
{ .pme_uname = "ANY",
|
|
Packit Service |
a1973e |
.pme_udesc = "Any Instruction Length Decoder stall cycles",
|
|
Packit Service |
a1973e |
.pme_ucode = 0xF,
|
|
Packit Service |
a1973e |
.pme_uflags = 0,
|
|
Packit Service |
a1973e |
},
|
|
Packit Service |
a1973e |
{ .pme_uname = "IQ_FULL",
|
|
Packit Service |
a1973e |
.pme_udesc = "Instruction Queue full stall cycles",
|
|
Packit Service |
a1973e |
.pme_ucode = 0x4,
|
|
Packit Service |
a1973e |
.pme_uflags = 0,
|
|
Packit Service |
a1973e |
},
|
|
Packit Service |
a1973e |
{ .pme_uname = "LCP",
|
|
Packit Service |
a1973e |
.pme_udesc = "Length Change Prefix stall cycles",
|
|
Packit Service |
a1973e |
.pme_ucode = 0x1,
|
|
Packit Service |
a1973e |
.pme_uflags = 0,
|
|
Packit Service |
a1973e |
},
|
|
Packit Service |
a1973e |
{ .pme_uname = "MRU",
|
|
Packit Service |
a1973e |
.pme_udesc = "Stall cycles due to BPU MRU bypass",
|
|
Packit Service |
a1973e |
.pme_ucode = 0x2,
|
|
Packit Service |
a1973e |
.pme_uflags = 0,
|
|
Packit Service |
a1973e |
},
|
|
Packit Service |
a1973e |
{ .pme_uname = "REGEN",
|
|
Packit Service |
a1973e |
.pme_udesc = "Regen stall cycles",
|
|
Packit Service |
a1973e |
.pme_ucode = 0x8,
|
|
Packit Service |
a1973e |
.pme_uflags = 0,
|
|
Packit Service |
a1973e |
},
|
|
Packit Service |
a1973e |
},
|
|
Packit Service |
a1973e |
.pme_numasks = 5
|
|
Packit Service |
a1973e |
},
|
|
Packit Service |
a1973e |
{ .pme_name = "DTLB_LOAD_MISSES",
|
|
Packit Service |
a1973e |
.pme_desc = "DTLB load misses",
|
|
Packit Service |
a1973e |
.pme_code = 0x8,
|
|
Packit Service |
a1973e |
.pme_flags = PFMLIB_NHM_UMASK_NCOMBO,
|
|
Packit Service |
a1973e |
.pme_umasks = {
|
|
Packit Service |
a1973e |
{ .pme_uname = "ANY",
|
|
Packit Service |
a1973e |
.pme_udesc = "DTLB load misses",
|
|
Packit Service |
a1973e |
.pme_ucode = 0x1,
|
|
Packit Service |
a1973e |
.pme_uflags = 0,
|
|
Packit Service |
a1973e |
},
|
|
Packit Service |
a1973e |
{ .pme_uname = "PDE_MISS",
|
|
Packit Service |
a1973e |
.pme_udesc = "DTLB load miss caused by low part of address",
|
|
Packit Service |
a1973e |
.pme_ucode = 0x20,
|
|
Packit Service |
a1973e |
.pme_uflags = 0,
|
|
Packit Service |
a1973e |
},
|
|
Packit Service |
a1973e |
{ .pme_uname = "STLB_HIT",
|
|
Packit Service |
a1973e |
.pme_udesc = "DTLB second level hit",
|
|
Packit Service |
a1973e |
.pme_ucode = 0x10,
|
|
Packit Service |
a1973e |
.pme_uflags = 0,
|
|
Packit Service |
a1973e |
},
|
|
Packit Service |
a1973e |
{ .pme_uname = "WALK_COMPLETED",
|
|
Packit Service |
a1973e |
.pme_udesc = "DTLB load miss page walks complete",
|
|
Packit Service |
a1973e |
.pme_ucode = 0x2,
|
|
Packit Service |
a1973e |
.pme_uflags = 0,
|
|
Packit Service |
a1973e |
},
|
|
Packit Service |
a1973e |
{ .pme_uname = "WALK_CYCLES",
|
|
Packit Service |
a1973e |
.pme_udesc = "DTLB load miss page walk cycles",
|
|
Packit Service |
a1973e |
.pme_ucode = 0x4,
|
|
Packit Service |
a1973e |
.pme_uflags = 0,
|
|
Packit Service |
a1973e |
},
|
|
Packit Service |
a1973e |
},
|
|
Packit Service |
a1973e |
.pme_numasks = 5
|
|
Packit Service |
a1973e |
},
|
|
Packit Service |
a1973e |
{ .pme_name = "L2_LINES_IN",
|
|
Packit Service |
a1973e |
.pme_desc = "L2 lines alloacated",
|
|
Packit Service |
a1973e |
.pme_code = 0xF1,
|
|
Packit Service |
a1973e |
.pme_flags = PFMLIB_NHM_UMASK_NCOMBO,
|
|
Packit Service |
a1973e |
.pme_umasks = {
|
|
Packit Service |
a1973e |
{ .pme_uname = "ANY",
|
|
Packit Service |
a1973e |
.pme_udesc = "L2 lines alloacated",
|
|
Packit Service |
a1973e |
.pme_ucode = 0x7,
|
|
Packit Service |
a1973e |
.pme_uflags = 0,
|
|
Packit Service |
a1973e |
},
|
|
Packit Service |
a1973e |
{ .pme_uname = "E_STATE",
|
|
Packit Service |
a1973e |
.pme_udesc = "L2 lines allocated in the E state",
|
|
Packit Service |
a1973e |
.pme_ucode = 0x4,
|
|
Packit Service |
a1973e |
.pme_uflags = 0,
|
|
Packit Service |
a1973e |
},
|
|
Packit Service |
a1973e |
{ .pme_uname = "S_STATE",
|
|
Packit Service |
a1973e |
.pme_udesc = "L2 lines allocated in the S state",
|
|
Packit Service |
a1973e |
.pme_ucode = 0x2,
|
|
Packit Service |
a1973e |
.pme_uflags = 0,
|
|
Packit Service |
a1973e |
},
|
|
Packit Service |
a1973e |
},
|
|
Packit Service |
a1973e |
.pme_numasks = 3
|
|
Packit Service |
a1973e |
},
|
|
Packit Service |
a1973e |
{ .pme_name = "SSEX_UOPS_RETIRED",
|
|
Packit Service |
a1973e |
.pme_desc = "SIMD micro-ops retired (Precise Event)",
|
|
Packit Service |
a1973e |
.pme_code = 0xC7,
|
|
Packit Service |
a1973e |
.pme_flags = PFMLIB_NHM_PEBS|PFMLIB_NHM_UMASK_NCOMBO,
|
|
Packit Service |
a1973e |
.pme_umasks = {
|
|
Packit Service |
a1973e |
{ .pme_uname = "PACKED_DOUBLE",
|
|
Packit Service |
a1973e |
.pme_udesc = "SIMD Packed-Double Uops retired (Precise Event)",
|
|
Packit Service |
a1973e |
.pme_ucode = 0x4,
|
|
Packit Service |
a1973e |
.pme_uflags = 0,
|
|
Packit Service |
a1973e |
},
|
|
Packit Service |
a1973e |
{ .pme_uname = "PACKED_SINGLE",
|
|
Packit Service |
a1973e |
.pme_udesc = "SIMD Packed-Single Uops retired (Precise Event)",
|
|
Packit Service |
a1973e |
.pme_ucode = 0x1,
|
|
Packit Service |
a1973e |
.pme_uflags = 0,
|
|
Packit Service |
a1973e |
},
|
|
Packit Service |
a1973e |
{ .pme_uname = "SCALAR_DOUBLE",
|
|
Packit Service |
a1973e |
.pme_udesc = "SIMD Scalar-Double Uops retired (Precise Event)",
|
|
Packit Service |
a1973e |
.pme_ucode = 0x8,
|
|
Packit Service |
a1973e |
.pme_uflags = 0,
|
|
Packit Service |
a1973e |
},
|
|
Packit Service |
a1973e |
{ .pme_uname = "SCALAR_SINGLE",
|
|
Packit Service |
a1973e |
.pme_udesc = "SIMD Scalar-Single Uops retired (Precise Event)",
|
|
Packit Service |
a1973e |
.pme_ucode = 0x2,
|
|
Packit Service |
a1973e |
.pme_uflags = 0,
|
|
Packit Service |
a1973e |
},
|
|
Packit Service |
a1973e |
{ .pme_uname = "VECTOR_INTEGER",
|
|
Packit Service |
a1973e |
.pme_udesc = "SIMD Vector Integer Uops retired (Precise Event)",
|
|
Packit Service |
a1973e |
.pme_ucode = 0x10,
|
|
Packit Service |
a1973e |
.pme_uflags = 0,
|
|
Packit Service |
a1973e |
},
|
|
Packit Service |
a1973e |
},
|
|
Packit Service |
a1973e |
.pme_numasks = 5
|
|
Packit Service |
a1973e |
},
|
|
Packit Service |
a1973e |
{ .pme_name = "STORE_BLOCKS",
|
|
Packit Service |
a1973e |
.pme_desc = "Load delayed by block code",
|
|
Packit Service |
a1973e |
.pme_code = 0x6,
|
|
Packit Service |
a1973e |
.pme_flags = PFMLIB_NHM_UMASK_NCOMBO,
|
|
Packit Service |
a1973e |
.pme_umasks = {
|
|
Packit Service |
a1973e |
{ .pme_uname = "AT_RET",
|
|
Packit Service |
a1973e |
.pme_udesc = "Loads delayed with at-Retirement block code",
|
|
Packit Service |
a1973e |
.pme_ucode = 0x4,
|
|
Packit Service |
a1973e |
.pme_uflags = 0,
|
|
Packit Service |
a1973e |
},
|
|
Packit Service |
a1973e |
{ .pme_uname = "L1D_BLOCK",
|
|
Packit Service |
a1973e |
.pme_udesc = "Cacheable loads delayed with L1D block code",
|
|
Packit Service |
a1973e |
.pme_ucode = 0x8,
|
|
Packit Service |
a1973e |
.pme_uflags = 0,
|
|
Packit Service |
a1973e |
},
|
|
Packit Service |
a1973e |
},
|
|
Packit Service |
a1973e |
.pme_numasks = 2
|
|
Packit Service |
a1973e |
},
|
|
Packit Service |
a1973e |
{ .pme_name = "FP_MMX_TRANS",
|
|
Packit Service |
a1973e |
.pme_desc = "Floating Point to and from MMX transitions",
|
|
Packit Service |
a1973e |
.pme_code = 0xCC,
|
|
Packit Service |
a1973e |
.pme_flags = PFMLIB_NHM_UMASK_NCOMBO,
|
|
Packit Service |
a1973e |
.pme_umasks = {
|
|
Packit Service |
a1973e |
{ .pme_uname = "ANY",
|
|
Packit Service |
a1973e |
.pme_udesc = "All Floating Point to and from MMX transitions",
|
|
Packit Service |
a1973e |
.pme_ucode = 0x3,
|
|
Packit Service |
a1973e |
.pme_uflags = 0,
|
|
Packit Service |
a1973e |
},
|
|
Packit Service |
a1973e |
{ .pme_uname = "TO_FP",
|
|
Packit Service |
a1973e |
.pme_udesc = "Transitions from MMX to Floating Point instructions",
|
|
Packit Service |
a1973e |
.pme_ucode = 0x1,
|
|
Packit Service |
a1973e |
.pme_uflags = 0,
|
|
Packit Service |
a1973e |
},
|
|
Packit Service |
a1973e |
{ .pme_uname = "TO_MMX",
|
|
Packit Service |
a1973e |
.pme_udesc = "Transitions from Floating Point to MMX instructions",
|
|
Packit Service |
a1973e |
.pme_ucode = 0x2,
|
|
Packit Service |
a1973e |
.pme_uflags = 0,
|
|
Packit Service |
a1973e |
},
|
|
Packit Service |
a1973e |
},
|
|
Packit Service |
a1973e |
.pme_numasks = 3
|
|
Packit Service |
a1973e |
},
|
|
Packit Service |
a1973e |
{ .pme_name = "CACHE_LOCK_CYCLES",
|
|
Packit Service |
a1973e |
.pme_desc = "Cache locked",
|
|
Packit Service |
a1973e |
.pme_code = 0x63,
|
|
Packit Service |
a1973e |
.pme_flags = PFMLIB_NHM_PMC01,
|
|
Packit Service |
a1973e |
.pme_umasks = {
|
|
Packit Service |
a1973e |
{ .pme_uname = "L1D",
|
|
Packit Service |
a1973e |
.pme_udesc = "Cycles L1D locked",
|
|
Packit Service |
a1973e |
.pme_ucode = 0x2,
|
|
Packit Service |
a1973e |
.pme_uflags = 0,
|
|
Packit Service |
a1973e |
},
|
|
Packit Service |
a1973e |
{ .pme_uname = "L1D_L2",
|
|
Packit Service |
a1973e |
.pme_udesc = "Cycles L1D and L2 locked",
|
|
Packit Service |
a1973e |
.pme_ucode = 0x1,
|
|
Packit Service |
a1973e |
.pme_uflags = 0,
|
|
Packit Service |
a1973e |
},
|
|
Packit Service |
a1973e |
},
|
|
Packit Service |
a1973e |
.pme_numasks = 2
|
|
Packit Service |
a1973e |
},
|
|
Packit Service |
a1973e |
{ .pme_name = "OFFCORE_REQUESTS_SQ_FULL",
|
|
Packit Service |
a1973e |
.pme_desc = "Offcore requests blocked due to Super Queue full",
|
|
Packit Service |
a1973e |
.pme_code = 0x01B2,
|
|
Packit Service |
a1973e |
.pme_flags = 0,
|
|
Packit Service |
a1973e |
},
|
|
Packit Service |
a1973e |
{ .pme_name = "L3_LAT_CACHE",
|
|
Packit Service |
a1973e |
.pme_desc = "Last level cache accesses",
|
|
Packit Service |
a1973e |
.pme_code = 0x2E,
|
|
Packit Service |
a1973e |
.pme_flags = PFMLIB_NHM_UMASK_NCOMBO,
|
|
Packit Service |
a1973e |
.pme_umasks = {
|
|
Packit Service |
a1973e |
{ .pme_uname = "MISS",
|
|
Packit Service |
a1973e |
.pme_udesc = "Last level cache miss",
|
|
Packit Service |
a1973e |
.pme_ucode = 0x1,
|
|
Packit Service |
a1973e |
.pme_uflags = 0,
|
|
Packit Service |
a1973e |
},
|
|
Packit Service |
a1973e |
{ .pme_uname = "REFERENCE",
|
|
Packit Service |
a1973e |
.pme_udesc = "Last level cache reference",
|
|
Packit Service |
a1973e |
.pme_ucode = 0x2,
|
|
Packit Service |
a1973e |
.pme_uflags = 0,
|
|
Packit Service |
a1973e |
},
|
|
Packit Service |
a1973e |
},
|
|
Packit Service |
a1973e |
.pme_numasks = 2
|
|
Packit Service |
a1973e |
},
|
|
Packit Service |
a1973e |
{ .pme_name = "SIMD_INT_64",
|
|
Packit Service |
a1973e |
.pme_desc = "SIMD 64-bit integer operations",
|
|
Packit Service |
a1973e |
.pme_code = 0xFD,
|
|
Packit Service |
a1973e |
.pme_flags = PFMLIB_NHM_UMASK_NCOMBO,
|
|
Packit Service |
a1973e |
.pme_umasks = {
|
|
Packit Service |
a1973e |
{ .pme_uname = "PACK",
|
|
Packit Service |
a1973e |
.pme_udesc = "SIMD integer 64 bit pack operations",
|
|
Packit Service |
a1973e |
.pme_ucode = 0x4,
|
|
Packit Service |
a1973e |
.pme_uflags = 0,
|
|
Packit Service |
a1973e |
},
|
|
Packit Service |
a1973e |
{ .pme_uname = "PACKED_ARITH",
|
|
Packit Service |
a1973e |
.pme_udesc = "SIMD integer 64 bit arithmetic operations",
|
|
Packit Service |
a1973e |
.pme_ucode = 0x20,
|
|
Packit Service |
a1973e |
.pme_uflags = 0,
|
|
Packit Service |
a1973e |
},
|
|
Packit Service |
a1973e |
{ .pme_uname = "PACKED_LOGICAL",
|
|
Packit Service |
a1973e |
.pme_udesc = "SIMD integer 64 bit logical operations",
|
|
Packit Service |
a1973e |
.pme_ucode = 0x10,
|
|
Packit Service |
a1973e |
.pme_uflags = 0,
|
|
Packit Service |
a1973e |
},
|
|
Packit Service |
a1973e |
{ .pme_uname = "PACKED_MPY",
|
|
Packit Service |
a1973e |
.pme_udesc = "SIMD integer 64 bit packed multiply operations",
|
|
Packit Service |
a1973e |
.pme_ucode = 0x1,
|
|
Packit Service |
a1973e |
.pme_uflags = 0,
|
|
Packit Service |
a1973e |
},
|
|
Packit Service |
a1973e |
{ .pme_uname = "PACKED_SHIFT",
|
|
Packit Service |
a1973e |
.pme_udesc = "SIMD integer 64 bit shift operations",
|
|
Packit Service |
a1973e |
.pme_ucode = 0x2,
|
|
Packit Service |
a1973e |
.pme_uflags = 0,
|
|
Packit Service |
a1973e |
},
|
|
Packit Service |
a1973e |
{ .pme_uname = "SHUFFLE_MOVE",
|
|
Packit Service |
a1973e |
.pme_udesc = "SIMD integer 64 bit shuffle/move operations",
|
|
Packit Service |
a1973e |
.pme_ucode = 0x40,
|
|
Packit Service |
a1973e |
.pme_uflags = 0,
|
|
Packit Service |
a1973e |
},
|
|
Packit Service |
a1973e |
{ .pme_uname = "UNPACK",
|
|
Packit Service |
a1973e |
.pme_udesc = "SIMD integer 64 bit unpack operations",
|
|
Packit Service |
a1973e |
.pme_ucode = 0x8,
|
|
Packit Service |
a1973e |
.pme_uflags = 0,
|
|
Packit Service |
a1973e |
},
|
|
Packit Service |
a1973e |
},
|
|
Packit Service |
a1973e |
.pme_numasks = 7
|
|
Packit Service |
a1973e |
},
|
|
Packit Service |
a1973e |
{ .pme_name = "BR_INST_DECODED",
|
|
Packit Service |
a1973e |
.pme_desc = "Branch instructions decoded",
|
|
Packit Service |
a1973e |
.pme_code = 0x01E0,
|
|
Packit Service |
a1973e |
.pme_flags = 0,
|
|
Packit Service |
a1973e |
},
|
|
Packit Service |
a1973e |
{ .pme_name = "BR_MISP_EXEC",
|
|
Packit Service |
a1973e |
.pme_desc = "Mispredicted branches executed",
|
|
Packit Service |
a1973e |
.pme_code = 0x89,
|
|
Packit Service |
a1973e |
.pme_flags = PFMLIB_NHM_UMASK_NCOMBO,
|
|
Packit Service |
a1973e |
.pme_umasks = {
|
|
Packit Service |
a1973e |
{ .pme_uname = "ANY",
|
|
Packit Service |
a1973e |
.pme_udesc = "Mispredicted branches executed",
|
|
Packit Service |
a1973e |
.pme_ucode = 0x7F,
|
|
Packit Service |
a1973e |
.pme_uflags = 0,
|
|
Packit Service |
a1973e |
},
|
|
Packit Service |
a1973e |
{ .pme_uname = "COND",
|
|
Packit Service |
a1973e |
.pme_udesc = "Mispredicted conditional branches executed",
|
|
Packit Service |
a1973e |
.pme_ucode = 0x1,
|
|
Packit Service |
a1973e |
.pme_uflags = 0,
|
|
Packit Service |
a1973e |
},
|
|
Packit Service |
a1973e |
{ .pme_uname = "DIRECT",
|
|
Packit Service |
a1973e |
.pme_udesc = "Mispredicted unconditional branches executed",
|
|
Packit Service |
a1973e |
.pme_ucode = 0x2,
|
|
Packit Service |
a1973e |
.pme_uflags = 0,
|
|
Packit Service |
a1973e |
},
|
|
Packit Service |
a1973e |
{ .pme_uname = "DIRECT_NEAR_CALL",
|
|
Packit Service |
a1973e |
.pme_udesc = "Mispredicted non call branches executed",
|
|
Packit Service |
a1973e |
.pme_ucode = 0x10,
|
|
Packit Service |
a1973e |
.pme_uflags = 0,
|
|
Packit Service |
a1973e |
},
|
|
Packit Service |
a1973e |
{ .pme_uname = "INDIRECT_NEAR_CALL",
|
|
Packit Service |
a1973e |
.pme_udesc = "Mispredicted indirect call branches executed",
|
|
Packit Service |
a1973e |
.pme_ucode = 0x20,
|
|
Packit Service |
a1973e |
.pme_uflags = 0,
|
|
Packit Service |
a1973e |
},
|
|
Packit Service |
a1973e |
{ .pme_uname = "INDIRECT_NON_CALL",
|
|
Packit Service |
a1973e |
.pme_udesc = "Mispredicted indirect non call branches executed",
|
|
Packit Service |
a1973e |
.pme_ucode = 0x4,
|
|
Packit Service |
a1973e |
.pme_uflags = 0,
|
|
Packit Service |
a1973e |
},
|
|
Packit Service |
a1973e |
{ .pme_uname = "NEAR_CALLS",
|
|
Packit Service |
a1973e |
.pme_udesc = "Mispredicted call branches executed",
|
|
Packit Service |
a1973e |
.pme_ucode = 0x30,
|
|
Packit Service |
a1973e |
.pme_uflags = 0,
|
|
Packit Service |
a1973e |
},
|
|
Packit Service |
a1973e |
{ .pme_uname = "NON_CALLS",
|
|
Packit Service |
a1973e |
.pme_udesc = "Mispredicted non call branches executed",
|
|
Packit Service |
a1973e |
.pme_ucode = 0x7,
|
|
Packit Service |
a1973e |
.pme_uflags = 0,
|
|
Packit Service |
a1973e |
},
|
|
Packit Service |
a1973e |
{ .pme_uname = "RETURN_NEAR",
|
|
Packit Service |
a1973e |
.pme_udesc = "Mispredicted return branches executed",
|
|
Packit Service |
a1973e |
.pme_ucode = 0x8,
|
|
Packit Service |
a1973e |
.pme_uflags = 0,
|
|
Packit Service |
a1973e |
},
|
|
Packit Service |
a1973e |
{ .pme_uname = "TAKEN",
|
|
Packit Service |
a1973e |
.pme_udesc = "Mispredicted taken branches executed",
|
|
Packit Service |
a1973e |
.pme_ucode = 0x40,
|
|
Packit Service |
a1973e |
.pme_uflags = 0,
|
|
Packit Service |
a1973e |
},
|
|
Packit Service |
a1973e |
},
|
|
Packit Service |
a1973e |
.pme_numasks = 10
|
|
Packit Service |
a1973e |
},
|
|
Packit Service |
a1973e |
{ .pme_name = "SQ_FULL_STALL_CYCLES",
|
|
Packit Service |
a1973e |
.pme_desc = "Super Queue full stall cycles",
|
|
Packit Service |
a1973e |
.pme_code = 0x01F6,
|
|
Packit Service |
a1973e |
.pme_flags = 0,
|
|
Packit Service |
a1973e |
},
|
|
Packit Service |
a1973e |
/*
|
|
Packit Service |
a1973e |
* BEGIN OFFCORE_RESPONSE
|
|
Packit Service |
a1973e |
*/
|
|
Packit Service |
a1973e |
{ .pme_name = "OFFCORE_RESPONSE_0",
|
|
Packit Service |
a1973e |
.pme_desc = "Offcore response 0",
|
|
Packit Service |
a1973e |
.pme_code = 0x01B7,
|
|
Packit Service |
a1973e |
.pme_flags = PFMLIB_NHM_OFFCORE_RSP0,
|
|
Packit Service |
a1973e |
.pme_umasks = {
|
|
Packit Service |
a1973e |
{ .pme_uname = "DMND_DATA_RD",
|
|
Packit Service |
a1973e |
.pme_udesc = "Request. Counts the number of demand and DCU prefetch data reads of full and partial cachelines as well as demand data page table entry cacheline reads. Does not count L2 data read prefetches or instruction fetches",
|
|
Packit Service |
a1973e |
.pme_ucode = 0x01,
|
|
Packit Service |
a1973e |
.pme_uflags = 0,
|
|
Packit Service |
a1973e |
},
|
|
Packit Service |
a1973e |
{ .pme_uname = "DMND_RFO",
|
|
Packit Service |
a1973e |
.pme_udesc = "Request. Counts the number of demand and DCU prefetch reads for ownership (RFO) requests generated by a write to data cacheline. Does not count L2 RFO",
|
|
Packit Service |
a1973e |
.pme_ucode = 0x02,
|
|
Packit Service |
a1973e |
.pme_uflags = 0,
|
|
Packit Service |
a1973e |
},
|
|
Packit Service |
a1973e |
{ .pme_uname = "DMND_IFETCH",
|
|
Packit Service |
a1973e |
.pme_udesc = "Request. Counts the number of demand and DCU prefetch instruction cacheline reads. Does not count L2 code read prefetches",
|
|
Packit Service |
a1973e |
.pme_ucode = 0x04,
|
|
Packit Service |
a1973e |
.pme_uflags = 0,
|
|
Packit Service |
a1973e |
},
|
|
Packit Service |
a1973e |
{ .pme_uname = "WB",
|
|
Packit Service |
a1973e |
.pme_udesc = "Request. Counts the number of writeback (modified to exclusive) transactions",
|
|
Packit Service |
a1973e |
.pme_ucode = 0x08,
|
|
Packit Service |
a1973e |
.pme_uflags = 0,
|
|
Packit Service |
a1973e |
},
|
|
Packit Service |
a1973e |
{ .pme_uname = "PF_DATA_RD",
|
|
Packit Service |
a1973e |
.pme_udesc = "Request. Counts the number of data cacheline reads generated by L2 prefetchers",
|
|
Packit Service |
a1973e |
.pme_ucode = 0x10,
|
|
Packit Service |
a1973e |
.pme_uflags = 0,
|
|
Packit Service |
a1973e |
},
|
|
Packit Service |
a1973e |
{ .pme_uname = "PF_RFO",
|
|
Packit Service |
a1973e |
.pme_udesc = "Request. Counts the number of RFO requests generated by L2 prefetchers",
|
|
Packit Service |
a1973e |
.pme_ucode = 0x20,
|
|
Packit Service |
a1973e |
.pme_uflags = 0,
|
|
Packit Service |
a1973e |
},
|
|
Packit Service |
a1973e |
{ .pme_uname = "PF_IFETCH",
|
|
Packit Service |
a1973e |
.pme_udesc = "Request. Counts the number of code reads generated by L2 prefetchers",
|
|
Packit Service |
a1973e |
.pme_ucode = 0x40,
|
|
Packit Service |
a1973e |
.pme_uflags = 0,
|
|
Packit Service |
a1973e |
},
|
|
Packit Service |
a1973e |
{ .pme_uname = "OTHER",
|
|
Packit Service |
a1973e |
.pme_udesc = "Request. Counts one of the following transaction types, including L3 invalidate, I/O, full or partial writes, WC or non-temporal stores, CLFLUSH, Fences, lock, unlock, split lock",
|
|
Packit Service |
a1973e |
.pme_ucode = 0x80,
|
|
Packit Service |
a1973e |
.pme_uflags = 0,
|
|
Packit Service |
a1973e |
},
|
|
Packit Service |
a1973e |
{ .pme_uname = "ANY_REQUEST",
|
|
Packit Service |
a1973e |
.pme_udesc = "Request. Counts any request type",
|
|
Packit Service |
a1973e |
.pme_ucode = 0xff,
|
|
Packit Service |
a1973e |
.pme_uflags = 0,
|
|
Packit Service |
a1973e |
},
|
|
Packit Service |
a1973e |
{ .pme_uname = "UNCORE_HIT",
|
|
Packit Service |
a1973e |
.pme_udesc = "Response. Counts L3 Hit: local or remote home requests that hit L3 cache in the uncore with no coherency actions required (snooping)",
|
|
Packit Service |
a1973e |
.pme_ucode = 0x100,
|
|
Packit Service |
a1973e |
.pme_uflags = 0,
|
|
Packit Service |
a1973e |
},
|
|
Packit Service |
a1973e |
{ .pme_uname = "OTHER_CORE_HIT_SNP",
|
|
Packit Service |
a1973e |
.pme_udesc = "Response. Counts L3 Hit: local or remote home requests that hit L3 cache in the uncore and was serviced by another core with a cross core snoop where no modified copies were found (clean)",
|
|
Packit Service |
a1973e |
.pme_ucode = 0x200,
|
|
Packit Service |
a1973e |
.pme_uflags = 0,
|
|
Packit Service |
a1973e |
},
|
|
Packit Service |
a1973e |
{ .pme_uname = "OTHER_CORE_HITM",
|
|
Packit Service |
a1973e |
.pme_udesc = "Response. Counts L3 Hit: local or remote home requests that hit L3 cache in the uncore and was serviced by another core with a cross core snoop where modified copies were found (HITM)",
|
|
Packit Service |
a1973e |
.pme_ucode = 0x400,
|
|
Packit Service |
a1973e |
.pme_uflags = 0,
|
|
Packit Service |
a1973e |
},
|
|
Packit Service |
a1973e |
{ .pme_uname = "REMOTE_CACHE_FWD",
|
|
Packit Service |
a1973e |
.pme_udesc = "Response. Counts L3 Miss: local homed requests that missed the L3 cache and was serviced by forwarded data following a cross package snoop where no modified copies found. (Remote home requests are not counted)",
|
|
Packit Service |
a1973e |
.pme_ucode = 0x1000,
|
|
Packit Service |
a1973e |
.pme_uflags = 0,
|
|
Packit Service |
a1973e |
},
|
|
Packit Service |
a1973e |
{ .pme_uname = "REMOTE_DRAM",
|
|
Packit Service |
a1973e |
.pme_udesc = "Response. Counts L3 Miss: remote home requests that missed the L3 cache and were serviced by remote DRAM",
|
|
Packit Service |
a1973e |
.pme_ucode = 0x2000,
|
|
Packit Service |
a1973e |
.pme_uflags = 0,
|
|
Packit Service |
a1973e |
},
|
|
Packit Service |
a1973e |
{ .pme_uname = "LOCAL_DRAM",
|
|
Packit Service |
a1973e |
.pme_udesc = "Response. Counts L3 Miss: local home requests that missed the L3 cache and were serviced by local DRAM",
|
|
Packit Service |
a1973e |
.pme_ucode = 0x4000,
|
|
Packit Service |
a1973e |
.pme_uflags = 0,
|
|
Packit Service |
a1973e |
},
|
|
Packit Service |
a1973e |
{ .pme_uname = "NON_DRAM",
|
|
Packit Service |
a1973e |
.pme_udesc = "Response. Non-DRAM requests that were serviced by IOH",
|
|
Packit Service |
a1973e |
.pme_ucode = 0x8000,
|
|
Packit Service |
a1973e |
.pme_uflags = 0,
|
|
Packit Service |
a1973e |
},
|
|
Packit Service |
a1973e |
{ .pme_uname = "ANY_RESPONSE",
|
|
Packit Service |
a1973e |
.pme_udesc = "Response. Counts any response type",
|
|
Packit Service |
a1973e |
.pme_ucode = 0xf700,
|
|
Packit Service |
a1973e |
.pme_uflags = 0,
|
|
Packit Service |
a1973e |
},
|
|
Packit Service |
a1973e |
},
|
|
Packit Service |
a1973e |
.pme_numasks = 17
|
|
Packit Service |
a1973e |
},
|
|
Packit Service |
a1973e |
{ .pme_name = "OFFCORE_RESPONSE_1",
|
|
Packit Service |
a1973e |
.pme_desc = "Offcore response 1",
|
|
Packit Service |
a1973e |
.pme_code = 0x01BB,
|
|
Packit Service |
a1973e |
.pme_flags = PFMLIB_NHM_OFFCORE_RSP1,
|
|
Packit Service |
a1973e |
.pme_umasks = {
|
|
Packit Service |
a1973e |
{ .pme_uname = "DMND_DATA_RD",
|
|
Packit Service |
a1973e |
.pme_udesc = "Request. Counts the number of demand and DCU prefetch data reads of full and partial cachelines as well as demand data page table entry cacheline reads. Does not count L2 data read prefetches or instruction fetches",
|
|
Packit Service |
a1973e |
.pme_ucode = 0x01,
|
|
Packit Service |
a1973e |
.pme_uflags = 0,
|
|
Packit Service |
a1973e |
},
|
|
Packit Service |
a1973e |
{ .pme_uname = "DMND_RFO",
|
|
Packit Service |
a1973e |
.pme_udesc = "Request. Counts the number of demand and DCU prefetch reads for ownership (RFO) requests generated by a write to data cacheline. Does not count L2 RFO",
|
|
Packit Service |
a1973e |
.pme_ucode = 0x02,
|
|
Packit Service |
a1973e |
.pme_uflags = 0,
|
|
Packit Service |
a1973e |
},
|
|
Packit Service |
a1973e |
{ .pme_uname = "DMND_IFETCH",
|
|
Packit Service |
a1973e |
.pme_udesc = "Request. Counts the number of demand and DCU prefetch instruction cacheline reads. Does not count L2 code read prefetches",
|
|
Packit Service |
a1973e |
.pme_ucode = 0x04,
|
|
Packit Service |
a1973e |
.pme_uflags = 0,
|
|
Packit Service |
a1973e |
},
|
|
Packit Service |
a1973e |
{ .pme_uname = "WB",
|
|
Packit Service |
a1973e |
.pme_udesc = "Request. Counts the number of writeback (modified to exclusive) transactions",
|
|
Packit Service |
a1973e |
.pme_ucode = 0x08,
|
|
Packit Service |
a1973e |
.pme_uflags = 0,
|
|
Packit Service |
a1973e |
},
|
|
Packit Service |
a1973e |
{ .pme_uname = "PF_DATA_RD",
|
|
Packit Service |
a1973e |
.pme_udesc = "Request. Counts the number of data cacheline reads generated by L2 prefetchers",
|
|
Packit Service |
a1973e |
.pme_ucode = 0x10,
|
|
Packit Service |
a1973e |
.pme_uflags = 0,
|
|
Packit Service |
a1973e |
},
|
|
Packit Service |
a1973e |
{ .pme_uname = "PF_RFO",
|
|
Packit Service |
a1973e |
.pme_udesc = "Request. Counts the number of RFO requests generated by L2 prefetchers",
|
|
Packit Service |
a1973e |
.pme_ucode = 0x20,
|
|
Packit Service |
a1973e |
.pme_uflags = 0,
|
|
Packit Service |
a1973e |
},
|
|
Packit Service |
a1973e |
{ .pme_uname = "PF_IFETCH",
|
|
Packit Service |
a1973e |
.pme_udesc = "Request. Counts the number of code reads generated by L2 prefetchers",
|
|
Packit Service |
a1973e |
.pme_ucode = 0x40,
|
|
Packit Service |
a1973e |
.pme_uflags = 0,
|
|
Packit Service |
a1973e |
},
|
|
Packit Service |
a1973e |
{ .pme_uname = "OTHER",
|
|
Packit Service |
a1973e |
.pme_udesc = "Request. Counts one of the following transaction types, including L3 invalidate, I/O, full or partial writes, WC or non-temporal stores, CLFLUSH, Fences, lock, unlock, split lock",
|
|
Packit Service |
a1973e |
.pme_ucode = 0x80,
|
|
Packit Service |
a1973e |
.pme_uflags = 0,
|
|
Packit Service |
a1973e |
},
|
|
Packit Service |
a1973e |
{ .pme_uname = "ANY_REQUEST",
|
|
Packit Service |
a1973e |
.pme_udesc = "Request. Counts any request type",
|
|
Packit Service |
a1973e |
.pme_ucode = 0xff,
|
|
Packit Service |
a1973e |
.pme_uflags = 0,
|
|
Packit Service |
a1973e |
},
|
|
Packit Service |
a1973e |
{ .pme_uname = "UNCORE_HIT",
|
|
Packit Service |
a1973e |
.pme_udesc = "Response. Counts L3 Hit: local or remote home requests that hit L3 cache in the uncore with no coherency actions required (snooping)",
|
|
Packit Service |
a1973e |
.pme_ucode = 0x100,
|
|
Packit Service |
a1973e |
.pme_uflags = 0,
|
|
Packit Service |
a1973e |
},
|
|
Packit Service |
a1973e |
{ .pme_uname = "OTHER_CORE_HIT_SNP",
|
|
Packit Service |
a1973e |
.pme_udesc = "Response. Counts L3 Hit: local or remote home requests that hit L3 cache in the uncore and was serviced by another core with a cross core snoop where no modified copies were found (clean)",
|
|
Packit Service |
a1973e |
.pme_ucode = 0x200,
|
|
Packit Service |
a1973e |
.pme_uflags = 0,
|
|
Packit Service |
a1973e |
},
|
|
Packit Service |
a1973e |
{ .pme_uname = "OTHER_CORE_HITM",
|
|
Packit Service |
a1973e |
.pme_udesc = "Response. Counts L3 Hit: local or remote home requests that hit L3 cache in the uncore and was serviced by another core with a cross core snoop where modified copies were found (HITM)",
|
|
Packit Service |
a1973e |
.pme_ucode = 0x400,
|
|
Packit Service |
a1973e |
.pme_uflags = 0,
|
|
Packit Service |
a1973e |
},
|
|
Packit Service |
a1973e |
{ .pme_uname = "REMOTE_CACHE_FWD",
|
|
Packit Service |
a1973e |
.pme_udesc = "Response. Counts L3 Miss: local homed requests that missed the L3 cache and was serviced by forwarded data following a cross package snoop where no modified copies found. (Remote home requests are not counted)",
|
|
Packit Service |
a1973e |
.pme_ucode = 0x1000,
|
|
Packit Service |
a1973e |
.pme_uflags = 0,
|
|
Packit Service |
a1973e |
},
|
|
Packit Service |
a1973e |
{ .pme_uname = "REMOTE_DRAM",
|
|
Packit Service |
a1973e |
.pme_udesc = "Response. Counts L3 Miss: remote home requests that missed the L3 cache and were serviced by remote DRAM",
|
|
Packit Service |
a1973e |
.pme_ucode = 0x2000,
|
|
Packit Service |
a1973e |
.pme_uflags = 0,
|
|
Packit Service |
a1973e |
},
|
|
Packit Service |
a1973e |
{ .pme_uname = "LOCAL_DRAM",
|
|
Packit Service |
a1973e |
.pme_udesc = "Response. Counts L3 Miss: local home requests that missed the L3 cache and were serviced by local DRAM",
|
|
Packit Service |
a1973e |
.pme_ucode = 0x4000,
|
|
Packit Service |
a1973e |
.pme_uflags = 0,
|
|
Packit Service |
a1973e |
},
|
|
Packit Service |
a1973e |
{ .pme_uname = "NON_DRAM",
|
|
Packit Service |
a1973e |
.pme_udesc = "Response. Non-DRAM requests that were serviced by IOH",
|
|
Packit Service |
a1973e |
.pme_ucode = 0x8000,
|
|
Packit Service |
a1973e |
.pme_uflags = 0,
|
|
Packit Service |
a1973e |
},
|
|
Packit Service |
a1973e |
{ .pme_uname = "ANY_RESPONSE",
|
|
Packit Service |
a1973e |
.pme_udesc = "Response. Counts any response type",
|
|
Packit Service |
a1973e |
.pme_ucode = 0xf700,
|
|
Packit Service |
a1973e |
.pme_uflags = 0,
|
|
Packit Service |
a1973e |
},
|
|
Packit Service |
a1973e |
},
|
|
Packit Service |
a1973e |
.pme_numasks = 17
|
|
Packit Service |
a1973e |
},
|
|
Packit Service |
a1973e |
/*
|
|
Packit Service |
a1973e |
* END OFFCORE_RESPONSE
|
|
Packit Service |
a1973e |
*/
|
|
Packit Service |
a1973e |
{ .pme_name = "BACLEAR",
|
|
Packit Service |
a1973e |
.pme_desc = "Branch address calculator clears",
|
|
Packit Service |
a1973e |
.pme_code = 0xE6,
|
|
Packit Service |
a1973e |
.pme_flags = PFMLIB_NHM_UMASK_NCOMBO,
|
|
Packit Service |
a1973e |
.pme_umasks = {
|
|
Packit Service |
a1973e |
{ .pme_uname = "BAD_TARGET",
|
|
Packit Service |
a1973e |
.pme_udesc = "BACLEAR asserted with bad target address",
|
|
Packit Service |
a1973e |
.pme_ucode = 0x2,
|
|
Packit Service |
a1973e |
.pme_uflags = 0,
|
|
Packit Service |
a1973e |
},
|
|
Packit Service |
a1973e |
{ .pme_uname = "CLEAR",
|
|
Packit Service |
a1973e |
.pme_udesc = "BACLEAR asserted, regardless of cause",
|
|
Packit Service |
a1973e |
.pme_ucode = 0x1,
|
|
Packit Service |
a1973e |
.pme_uflags = 0,
|
|
Packit Service |
a1973e |
},
|
|
Packit Service |
a1973e |
},
|
|
Packit Service |
a1973e |
.pme_numasks = 2
|
|
Packit Service |
a1973e |
},
|
|
Packit Service |
a1973e |
{ .pme_name = "DTLB_MISSES",
|
|
Packit Service |
a1973e |
.pme_desc = "Data TLB misses",
|
|
Packit Service |
a1973e |
.pme_code = 0x49,
|
|
Packit Service |
a1973e |
.pme_flags = PFMLIB_NHM_UMASK_NCOMBO,
|
|
Packit Service |
a1973e |
.pme_umasks = {
|
|
Packit Service |
a1973e |
{ .pme_uname = "ANY",
|
|
Packit Service |
a1973e |
.pme_udesc = "DTLB misses",
|
|
Packit Service |
a1973e |
.pme_ucode = 0x1,
|
|
Packit Service |
a1973e |
.pme_uflags = 0,
|
|
Packit Service |
a1973e |
},
|
|
Packit Service |
a1973e |
{ .pme_uname = "LARGE_WALK_COMPLETED",
|
|
Packit Service |
a1973e |
.pme_udesc = "DTLB miss large page walks",
|
|
Packit Service |
a1973e |
.pme_ucode = 0x80,
|
|
Packit Service |
a1973e |
.pme_uflags = 0,
|
|
Packit Service |
a1973e |
},
|
|
Packit Service |
a1973e |
{ .pme_uname = "STLB_HIT",
|
|
Packit Service |
a1973e |
.pme_udesc = "DTLB first level misses but second level hit",
|
|
Packit Service |
a1973e |
.pme_ucode = 0x10,
|
|
Packit Service |
a1973e |
.pme_uflags = 0,
|
|
Packit Service |
a1973e |
},
|
|
Packit Service |
a1973e |
{ .pme_uname = "WALK_COMPLETED",
|
|
Packit Service |
a1973e |
.pme_udesc = "DTLB miss page walks",
|
|
Packit Service |
a1973e |
.pme_ucode = 0x2,
|
|
Packit Service |
a1973e |
.pme_uflags = 0,
|
|
Packit Service |
a1973e |
},
|
|
Packit Service |
a1973e |
{ .pme_uname = "WALK_CYCLES",
|
|
Packit Service |
a1973e |
.pme_udesc = "DTLB miss page walk cycles",
|
|
Packit Service |
a1973e |
.pme_ucode = 0x4,
|
|
Packit Service |
a1973e |
.pme_uflags = 0,
|
|
Packit Service |
a1973e |
},
|
|
Packit Service |
a1973e |
},
|
|
Packit Service |
a1973e |
.pme_numasks = 5
|
|
Packit Service |
a1973e |
},
|
|
Packit Service |
a1973e |
{ .pme_name = "MEM_INST_RETIRED",
|
|
Packit Service |
a1973e |
.pme_desc = "Memory instructions retired",
|
|
Packit Service |
a1973e |
.pme_code = 0x0B,
|
|
Packit Service |
a1973e |
.pme_flags = PFMLIB_NHM_UMASK_NCOMBO,
|
|
Packit Service |
a1973e |
.pme_umasks = {
|
|
Packit Service |
a1973e |
{ .pme_uname = "LATENCY_ABOVE_THRESHOLD",
|
|
Packit Service |
a1973e |
.pme_udesc = "Memory instructions retired above programmed clocks, minimum value threhold is 4, requires PEBS",
|
|
Packit Service |
a1973e |
.pme_ucode = 0x10,
|
|
Packit Service |
a1973e |
.pme_uflags = PFMLIB_NHM_PEBS,
|
|
Packit Service |
a1973e |
},
|
|
Packit Service |
a1973e |
{ .pme_uname = "LOADS",
|
|
Packit Service |
a1973e |
.pme_udesc = "Instructions retired which contains a load (Precise Event)",
|
|
Packit Service |
a1973e |
.pme_ucode = 0x01,
|
|
Packit Service |
a1973e |
.pme_uflags = PFMLIB_NHM_PEBS,
|
|
Packit Service |
a1973e |
},
|
|
Packit Service |
a1973e |
{ .pme_uname = "STORES",
|
|
Packit Service |
a1973e |
.pme_udesc = "Instructions retired which contains a store (Precise Event)",
|
|
Packit Service |
a1973e |
.pme_ucode = 0x02,
|
|
Packit Service |
a1973e |
.pme_uflags = PFMLIB_NHM_PEBS,
|
|
Packit Service |
a1973e |
},
|
|
Packit Service |
a1973e |
},
|
|
Packit Service |
a1973e |
.pme_numasks = 3
|
|
Packit Service |
a1973e |
},
|
|
Packit Service |
a1973e |
{ .pme_name = "UOPS_ISSUED",
|
|
Packit Service |
a1973e |
.pme_desc = "Uops issued",
|
|
Packit Service |
a1973e |
.pme_code = 0x0E,
|
|
Packit Service |
a1973e |
.pme_flags = PFMLIB_NHM_UMASK_NCOMBO,
|
|
Packit Service |
a1973e |
.pme_umasks = {
|
|
Packit Service |
a1973e |
{ .pme_uname = "ANY",
|
|
Packit Service |
a1973e |
.pme_udesc = "Uops issued",
|
|
Packit Service |
a1973e |
.pme_ucode = 0x01,
|
|
Packit Service |
a1973e |
.pme_uflags = 0,
|
|
Packit Service |
a1973e |
},
|
|
Packit Service |
a1973e |
{ .pme_uname = "STALL_CYCLES",
|
|
Packit Service |
a1973e |
.pme_udesc = "Cycles stalled no issued uops",
|
|
Packit Service |
a1973e |
.pme_ucode = 0x01 | (1<<16) | (1<<15), /* counter-mask=1, inv=1 */
|
|
Packit Service |
a1973e |
.pme_uflags = 0,
|
|
Packit Service |
a1973e |
},
|
|
Packit Service |
a1973e |
{ .pme_uname = "FUSED",
|
|
Packit Service |
a1973e |
.pme_udesc = "Fused Uops issued",
|
|
Packit Service |
a1973e |
.pme_ucode = 0x02,
|
|
Packit Service |
a1973e |
.pme_uflags = 0,
|
|
Packit Service |
a1973e |
},
|
|
Packit Service |
a1973e |
{ .pme_uname = "CYCLES_ALL_THREADS",
|
|
Packit Service |
a1973e |
.pme_udesc = "Cycles uops issued on either threads (core count)",
|
|
Packit Service |
a1973e |
.pme_ucode = 0x01 | (1<<16) | (1<<13), /* counter-mask=1, any=1 */
|
|
Packit Service |
a1973e |
.pme_uflags = 0,
|
|
Packit Service |
a1973e |
},
|
|
Packit Service |
a1973e |
{ .pme_uname = "CORE_STALL_CYCLES",
|
|
Packit Service |
a1973e |
.pme_udesc = "Cycles no uops issued on any threads (core count)",
|
|
Packit Service |
a1973e |
.pme_ucode = 0x01 | (1<<16) | (1<<15) | (1<<13), /* counter-mask=1, any=1, inv=1 */
|
|
Packit Service |
a1973e |
.pme_uflags = 0,
|
|
Packit Service |
a1973e |
},
|
|
Packit Service |
a1973e |
},
|
|
Packit Service |
a1973e |
.pme_numasks = 5
|
|
Packit Service |
a1973e |
},
|
|
Packit Service |
a1973e |
{ .pme_name = "L2_RQSTS",
|
|
Packit Service |
a1973e |
.pme_desc = "L2 requests",
|
|
Packit Service |
a1973e |
.pme_code = 0x24,
|
|
Packit Service |
a1973e |
.pme_flags = PFMLIB_NHM_UMASK_NCOMBO,
|
|
Packit Service |
a1973e |
.pme_umasks = {
|
|
Packit Service |
a1973e |
{ .pme_uname = "IFETCH_HIT",
|
|
Packit Service |
a1973e |
.pme_udesc = "L2 instruction fetch hits",
|
|
Packit Service |
a1973e |
.pme_ucode = 0x10,
|
|
Packit Service |
a1973e |
.pme_uflags = 0,
|
|
Packit Service |
a1973e |
},
|
|
Packit Service |
a1973e |
{ .pme_uname = "IFETCH_MISS",
|
|
Packit Service |
a1973e |
.pme_udesc = "L2 instruction fetch misses",
|
|
Packit Service |
a1973e |
.pme_ucode = 0x20,
|
|
Packit Service |
a1973e |
.pme_uflags = 0,
|
|
Packit Service |
a1973e |
},
|
|
Packit Service |
a1973e |
{ .pme_uname = "IFETCHES",
|
|
Packit Service |
a1973e |
.pme_udesc = "L2 instruction fetches",
|
|
Packit Service |
a1973e |
.pme_ucode = 0x30,
|
|
Packit Service |
a1973e |
.pme_uflags = 0,
|
|
Packit Service |
a1973e |
},
|
|
Packit Service |
a1973e |
{ .pme_uname = "LD_HIT",
|
|
Packit Service |
a1973e |
.pme_udesc = "L2 load hits",
|
|
Packit Service |
a1973e |
.pme_ucode = 0x1,
|
|
Packit Service |
a1973e |
.pme_uflags = 0,
|
|
Packit Service |
a1973e |
},
|
|
Packit Service |
a1973e |
{ .pme_uname = "LD_MISS",
|
|
Packit Service |
a1973e |
.pme_udesc = "L2 load misses",
|
|
Packit Service |
a1973e |
.pme_ucode = 0x2,
|
|
Packit Service |
a1973e |
.pme_uflags = 0,
|
|
Packit Service |
a1973e |
},
|
|
Packit Service |
a1973e |
{ .pme_uname = "LOADS",
|
|
Packit Service |
a1973e |
.pme_udesc = "L2 requests",
|
|
Packit Service |
a1973e |
.pme_ucode = 0x3,
|
|
Packit Service |
a1973e |
.pme_uflags = 0,
|
|
Packit Service |
a1973e |
},
|
|
Packit Service |
a1973e |
{ .pme_uname = "MISS",
|
|
Packit Service |
a1973e |
.pme_udesc = "All L2 misses",
|
|
Packit Service |
a1973e |
.pme_ucode = 0xAA,
|
|
Packit Service |
a1973e |
.pme_uflags = 0,
|
|
Packit Service |
a1973e |
},
|
|
Packit Service |
a1973e |
{ .pme_uname = "PREFETCH_HIT",
|
|
Packit Service |
a1973e |
.pme_udesc = "L2 prefetch hits",
|
|
Packit Service |
a1973e |
.pme_ucode = 0x40,
|
|
Packit Service |
a1973e |
.pme_uflags = 0,
|
|
Packit Service |
a1973e |
},
|
|
Packit Service |
a1973e |
{ .pme_uname = "PREFETCH_MISS",
|
|
Packit Service |
a1973e |
.pme_udesc = "L2 prefetch misses",
|
|
Packit Service |
a1973e |
.pme_ucode = 0x80,
|
|
Packit Service |
a1973e |
.pme_uflags = 0,
|
|
Packit Service |
a1973e |
},
|
|
Packit Service |
a1973e |
{ .pme_uname = "PREFETCHES",
|
|
Packit Service |
a1973e |
.pme_udesc = "All L2 prefetches",
|
|
Packit Service |
a1973e |
.pme_ucode = 0xC0,
|
|
Packit Service |
a1973e |
.pme_uflags = 0,
|
|
Packit Service |
a1973e |
},
|
|
Packit Service |
a1973e |
{ .pme_uname = "REFERENCES",
|
|
Packit Service |
a1973e |
.pme_udesc = "All L2 requests",
|
|
Packit Service |
a1973e |
.pme_ucode = 0xFF,
|
|
Packit Service |
a1973e |
.pme_uflags = 0,
|
|
Packit Service |
a1973e |
},
|
|
Packit Service |
a1973e |
{ .pme_uname = "RFO_HIT",
|
|
Packit Service |
a1973e |
.pme_udesc = "L2 RFO hits",
|
|
Packit Service |
a1973e |
.pme_ucode = 0x4,
|
|
Packit Service |
a1973e |
.pme_uflags = 0,
|
|
Packit Service |
a1973e |
},
|
|
Packit Service |
a1973e |
{ .pme_uname = "RFO_MISS",
|
|
Packit Service |
a1973e |
.pme_udesc = "L2 RFO misses",
|
|
Packit Service |
a1973e |
.pme_ucode = 0x8,
|
|
Packit Service |
a1973e |
.pme_uflags = 0,
|
|
Packit Service |
a1973e |
},
|
|
Packit Service |
a1973e |
{ .pme_uname = "RFOS",
|
|
Packit Service |
a1973e |
.pme_udesc = "L2 RFO requests",
|
|
Packit Service |
a1973e |
.pme_ucode = 0xC,
|
|
Packit Service |
a1973e |
.pme_uflags = 0,
|
|
Packit Service |
a1973e |
},
|
|
Packit Service |
a1973e |
},
|
|
Packit Service |
a1973e |
.pme_numasks = 14
|
|
Packit Service |
a1973e |
},
|
|
Packit Service |
a1973e |
{ .pme_name = "TWO_UOP_INSTS_DECODED",
|
|
Packit Service |
a1973e |
.pme_desc = "Two Uop instructions decoded",
|
|
Packit Service |
a1973e |
.pme_code = 0x0119,
|
|
Packit Service |
a1973e |
.pme_flags = 0,
|
|
Packit Service |
a1973e |
},
|
|
Packit Service |
a1973e |
{ .pme_name = "LOAD_DISPATCH",
|
|
Packit Service |
a1973e |
.pme_desc = "Loads dispatched",
|
|
Packit Service |
a1973e |
.pme_code = 0x13,
|
|
Packit Service |
a1973e |
.pme_flags = PFMLIB_NHM_UMASK_NCOMBO,
|
|
Packit Service |
a1973e |
.pme_umasks = {
|
|
Packit Service |
a1973e |
{ .pme_uname = "ANY",
|
|
Packit Service |
a1973e |
.pme_udesc = "All loads dispatched",
|
|
Packit Service |
a1973e |
.pme_ucode = 0x7,
|
|
Packit Service |
a1973e |
.pme_uflags = 0,
|
|
Packit Service |
a1973e |
},
|
|
Packit Service |
a1973e |
{ .pme_uname = "RS",
|
|
Packit Service |
a1973e |
.pme_udesc = "Number of loads dispatched from the Reservation Station (RS) that bypass the Memory Order Buffer",
|
|
Packit Service |
a1973e |
.pme_ucode = 0x1,
|
|
Packit Service |
a1973e |
.pme_uflags = 0,
|
|
Packit Service |
a1973e |
},
|
|
Packit Service |
a1973e |
{ .pme_uname = "RS_DELAYED",
|
|
Packit Service |
a1973e |
.pme_udesc = "Number of delayed RS dispatches at the stage latch",
|
|
Packit Service |
a1973e |
.pme_ucode = 0x2,
|
|
Packit Service |
a1973e |
.pme_uflags = 0,
|
|
Packit Service |
a1973e |
},
|
|
Packit Service |
a1973e |
{ .pme_uname = "MOB",
|
|
Packit Service |
a1973e |
.pme_udesc = "Number of loads dispatched from Reservation Station (RS)",
|
|
Packit Service |
a1973e |
.pme_ucode = 0x4,
|
|
Packit Service |
a1973e |
.pme_uflags = 0,
|
|
Packit Service |
a1973e |
},
|
|
Packit Service |
a1973e |
},
|
|
Packit Service |
a1973e |
.pme_numasks = 4
|
|
Packit Service |
a1973e |
},
|
|
Packit Service |
a1973e |
{ .pme_name = "BACLEAR_FORCE_IQ",
|
|
Packit Service |
a1973e |
.pme_desc = "BACLEAR forced by Instruction queue",
|
|
Packit Service |
a1973e |
.pme_code = 0x01A7,
|
|
Packit Service |
a1973e |
.pme_flags = 0,
|
|
Packit Service |
a1973e |
},
|
|
Packit Service |
a1973e |
{ .pme_name = "SNOOPQ_REQUESTS",
|
|
Packit Service |
a1973e |
.pme_desc = "Snoopq requests",
|
|
Packit Service |
a1973e |
.pme_code = 0xB4,
|
|
Packit Service |
a1973e |
.pme_flags = PFMLIB_NHM_UMASK_NCOMBO,
|
|
Packit Service |
a1973e |
.pme_umasks = {
|
|
Packit Service |
a1973e |
{ .pme_uname = "CODE",
|
|
Packit Service |
a1973e |
.pme_udesc = "Snoop code requests",
|
|
Packit Service |
a1973e |
.pme_ucode = 0x4,
|
|
Packit Service |
a1973e |
.pme_uflags = 0,
|
|
Packit Service |
a1973e |
},
|
|
Packit Service |
a1973e |
{ .pme_uname = "DATA",
|
|
Packit Service |
a1973e |
.pme_udesc = "Snoop data requests",
|
|
Packit Service |
a1973e |
.pme_ucode = 0x1,
|
|
Packit Service |
a1973e |
.pme_uflags = 0,
|
|
Packit Service |
a1973e |
},
|
|
Packit Service |
a1973e |
{ .pme_uname = "INVALIDATE",
|
|
Packit Service |
a1973e |
.pme_udesc = "Snoop invalidate requests",
|
|
Packit Service |
a1973e |
.pme_ucode = 0x2,
|
|
Packit Service |
a1973e |
.pme_uflags = 0,
|
|
Packit Service |
a1973e |
},
|
|
Packit Service |
a1973e |
},
|
|
Packit Service |
a1973e |
.pme_numasks = 3
|
|
Packit Service |
a1973e |
},
|
|
Packit Service |
a1973e |
{ .pme_name = "OFFCORE_REQUESTS",
|
|
Packit Service |
a1973e |
.pme_desc = "offcore requests",
|
|
Packit Service |
a1973e |
.pme_code = 0xB0,
|
|
Packit Service |
a1973e |
.pme_flags = PFMLIB_NHM_UMASK_NCOMBO,
|
|
Packit Service |
a1973e |
.pme_umasks = {
|
|
Packit Service |
a1973e |
{ .pme_uname = "ANY",
|
|
Packit Service |
a1973e |
.pme_udesc = "All offcore requests",
|
|
Packit Service |
a1973e |
.pme_ucode = 0x80,
|
|
Packit Service |
a1973e |
.pme_uflags = 0,
|
|
Packit Service |
a1973e |
},
|
|
Packit Service |
a1973e |
{ .pme_uname = "ANY_READ",
|
|
Packit Service |
a1973e |
.pme_udesc = "Offcore read requests",
|
|
Packit Service |
a1973e |
.pme_ucode = 0x8,
|
|
Packit Service |
a1973e |
.pme_uflags = 0,
|
|
Packit Service |
a1973e |
},
|
|
Packit Service |
a1973e |
{ .pme_uname = "ANY_RFO",
|
|
Packit Service |
a1973e |
.pme_udesc = "Offcore RFO requests",
|
|
Packit Service |
a1973e |
.pme_ucode = 0x10,
|
|
Packit Service |
a1973e |
.pme_uflags = 0,
|
|
Packit Service |
a1973e |
},
|
|
Packit Service |
a1973e |
{ .pme_uname = "DEMAND_READ_CODE",
|
|
Packit Service |
a1973e |
.pme_udesc = "Offcore demand code read requests",
|
|
Packit Service |
a1973e |
.pme_ucode = 0x2,
|
|
Packit Service |
a1973e |
.pme_uflags = 0,
|
|
Packit Service |
a1973e |
},
|
|
Packit Service |
a1973e |
{ .pme_uname = "DEMAND_READ_DATA",
|
|
Packit Service |
a1973e |
.pme_udesc = "Offcore demand data read requests",
|
|
Packit Service |
a1973e |
.pme_ucode = 0x1,
|
|
Packit Service |
a1973e |
.pme_uflags = 0,
|
|
Packit Service |
a1973e |
},
|
|
Packit Service |
a1973e |
{ .pme_uname = "DEMAND_RFO",
|
|
Packit Service |
a1973e |
.pme_udesc = "Offcore demand RFO requests",
|
|
Packit Service |
a1973e |
.pme_ucode = 0x4,
|
|
Packit Service |
a1973e |
.pme_uflags = 0,
|
|
Packit Service |
a1973e |
},
|
|
Packit Service |
a1973e |
{ .pme_uname = "L1D_WRITEBACK",
|
|
Packit Service |
a1973e |
.pme_udesc = "Offcore L1 data cache writebacks",
|
|
Packit Service |
a1973e |
.pme_ucode = 0x40,
|
|
Packit Service |
a1973e |
.pme_uflags = 0,
|
|
Packit Service |
a1973e |
},
|
|
Packit Service |
a1973e |
},
|
|
Packit Service |
a1973e |
.pme_numasks = 7
|
|
Packit Service |
a1973e |
},
|
|
Packit Service |
a1973e |
{ .pme_name = "LOAD_BLOCK",
|
|
Packit Service |
a1973e |
.pme_desc = "Loads blocked",
|
|
Packit Service |
a1973e |
.pme_code = 0x3,
|
|
Packit Service |
a1973e |
.pme_flags = 0,
|
|
Packit Service |
a1973e |
.pme_umasks = {
|
|
Packit Service |
a1973e |
{ .pme_uname = "OVERLAP_STORE",
|
|
Packit Service |
a1973e |
.pme_udesc = "lods that partially overlap an earlier store",
|
|
Packit Service |
a1973e |
.pme_ucode = 0x2,
|
|
Packit Service |
a1973e |
.pme_uflags = 0,
|
|
Packit Service |
a1973e |
},
|
|
Packit Service |
a1973e |
},
|
|
Packit Service |
a1973e |
.pme_numasks = 1
|
|
Packit Service |
a1973e |
},
|
|
Packit Service |
a1973e |
{ .pme_name = "MISALIGN_MEMORY",
|
|
Packit Service |
a1973e |
.pme_desc = "Misaligned accesses",
|
|
Packit Service |
a1973e |
.pme_code = 0x5,
|
|
Packit Service |
a1973e |
.pme_flags = 0,
|
|
Packit Service |
a1973e |
.pme_umasks = {
|
|
Packit Service |
a1973e |
{ .pme_uname = "STORE",
|
|
Packit Service |
a1973e |
.pme_udesc = "store referenced with misaligned address",
|
|
Packit Service |
a1973e |
.pme_ucode = 0x2,
|
|
Packit Service |
a1973e |
.pme_uflags = 0,
|
|
Packit Service |
a1973e |
},
|
|
Packit Service |
a1973e |
},
|
|
Packit Service |
a1973e |
.pme_numasks = 1
|
|
Packit Service |
a1973e |
},
|
|
Packit Service |
a1973e |
{ .pme_name = "INST_QUEUE_WRITE_CYCLES",
|
|
Packit Service |
a1973e |
.pme_desc = "Cycles instructions are written to the instruction queue",
|
|
Packit Service |
a1973e |
.pme_code = 0x011E,
|
|
Packit Service |
a1973e |
.pme_flags = 0,
|
|
Packit Service |
a1973e |
},
|
|
Packit Service |
a1973e |
{ .pme_name = "MACHINE_CLEARS",
|
|
Packit Service |
a1973e |
.pme_desc = "Machine clear asserted",
|
|
Packit Service |
a1973e |
.pme_code = 0xC3,
|
|
Packit Service |
a1973e |
.pme_flags = PFMLIB_NHM_UMASK_NCOMBO,
|
|
Packit Service |
a1973e |
.pme_umasks = {
|
|
Packit Service |
a1973e |
{ .pme_uname = "MEM_ORDER",
|
|
Packit Service |
a1973e |
.pme_udesc = "Execution pipeline restart due to Memory ordering conflicts ",
|
|
Packit Service |
a1973e |
.pme_ucode = 0x2,
|
|
Packit Service |
a1973e |
.pme_uflags = 0,
|
|
Packit Service |
a1973e |
},
|
|
Packit Service |
a1973e |
{ .pme_uname = "CYCLES",
|
|
Packit Service |
a1973e |
.pme_udesc = "cycles machine clear is asserted",
|
|
Packit Service |
a1973e |
.pme_ucode = 0x1,
|
|
Packit Service |
a1973e |
.pme_uflags = 0,
|
|
Packit Service |
a1973e |
},
|
|
Packit Service |
a1973e |
{ .pme_uname = "SMC",
|
|
Packit Service |
a1973e |
.pme_udesc = "Self-modifying code detected",
|
|
Packit Service |
a1973e |
.pme_ucode = 0x4,
|
|
Packit Service |
a1973e |
.pme_uflags = 0,
|
|
Packit Service |
a1973e |
},
|
|
Packit Service |
a1973e |
},
|
|
Packit Service |
a1973e |
.pme_numasks = 3
|
|
Packit Service |
a1973e |
},
|
|
Packit Service |
a1973e |
{ .pme_name = "FP_COMP_OPS_EXE",
|
|
Packit Service |
a1973e |
.pme_desc = "SSE/MMX micro-ops",
|
|
Packit Service |
a1973e |
.pme_code = 0x10,
|
|
Packit Service |
a1973e |
.pme_flags = PFMLIB_NHM_UMASK_NCOMBO,
|
|
Packit Service |
a1973e |
.pme_umasks = {
|
|
Packit Service |
a1973e |
{ .pme_uname = "MMX",
|
|
Packit Service |
a1973e |
.pme_udesc = "MMX Uops",
|
|
Packit Service |
a1973e |
.pme_ucode = 0x2,
|
|
Packit Service |
a1973e |
.pme_uflags = 0,
|
|
Packit Service |
a1973e |
},
|
|
Packit Service |
a1973e |
{ .pme_uname = "SSE_DOUBLE_PRECISION",
|
|
Packit Service |
a1973e |
.pme_udesc = "SSE FP double precision Uops",
|
|
Packit Service |
a1973e |
.pme_ucode = 0x80,
|
|
Packit Service |
a1973e |
.pme_uflags = 0,
|
|
Packit Service |
a1973e |
},
|
|
Packit Service |
a1973e |
{ .pme_uname = "SSE_FP",
|
|
Packit Service |
a1973e |
.pme_udesc = "SSE and SSE2 FP Uops",
|
|
Packit Service |
a1973e |
.pme_ucode = 0x4,
|
|
Packit Service |
a1973e |
.pme_uflags = 0,
|
|
Packit Service |
a1973e |
},
|
|
Packit Service |
a1973e |
{ .pme_uname = "SSE_FP_PACKED",
|
|
Packit Service |
a1973e |
.pme_udesc = "SSE FP packed Uops",
|
|
Packit Service |
a1973e |
.pme_ucode = 0x10,
|
|
Packit Service |
a1973e |
.pme_uflags = 0,
|
|
Packit Service |
a1973e |
},
|
|
Packit Service |
a1973e |
{ .pme_uname = "SSE_FP_SCALAR",
|
|
Packit Service |
a1973e |
.pme_udesc = "SSE FP scalar Uops",
|
|
Packit Service |
a1973e |
.pme_ucode = 0x20,
|
|
Packit Service |
a1973e |
.pme_uflags = 0,
|
|
Packit Service |
a1973e |
},
|
|
Packit Service |
a1973e |
{ .pme_uname = "SSE_SINGLE_PRECISION",
|
|
Packit Service |
a1973e |
.pme_udesc = "SSE FP single precision Uops",
|
|
Packit Service |
a1973e |
.pme_ucode = 0x40,
|
|
Packit Service |
a1973e |
.pme_uflags = 0,
|
|
Packit Service |
a1973e |
},
|
|
Packit Service |
a1973e |
{ .pme_uname = "SSE2_INTEGER",
|
|
Packit Service |
a1973e |
.pme_udesc = "SSE2 integer Uops",
|
|
Packit Service |
a1973e |
.pme_ucode = 0x8,
|
|
Packit Service |
a1973e |
.pme_uflags = 0,
|
|
Packit Service |
a1973e |
},
|
|
Packit Service |
a1973e |
{ .pme_uname = "X87",
|
|
Packit Service |
a1973e |
.pme_udesc = "Computational floating-point operations executed",
|
|
Packit Service |
a1973e |
.pme_ucode = 0x1,
|
|
Packit Service |
a1973e |
.pme_uflags = 0,
|
|
Packit Service |
a1973e |
},
|
|
Packit Service |
a1973e |
},
|
|
Packit Service |
a1973e |
.pme_numasks = 8
|
|
Packit Service |
a1973e |
},
|
|
Packit Service |
a1973e |
{ .pme_name = "ITLB_FLUSH",
|
|
Packit Service |
a1973e |
.pme_desc = "ITLB flushes",
|
|
Packit Service |
a1973e |
.pme_code = 0x01AE,
|
|
Packit Service |
a1973e |
.pme_flags = 0,
|
|
Packit Service |
a1973e |
},
|
|
Packit Service |
a1973e |
{ .pme_name = "BR_INST_RETIRED",
|
|
Packit Service |
a1973e |
.pme_desc = "Retired branch instructions (Precise Event)",
|
|
Packit Service |
a1973e |
.pme_code = 0xC4,
|
|
Packit Service |
a1973e |
.pme_flags = PFMLIB_NHM_PEBS|PFMLIB_NHM_UMASK_NCOMBO,
|
|
Packit Service |
a1973e |
.pme_umasks = {
|
|
Packit Service |
a1973e |
{ .pme_uname = "ALL_BRANCHES",
|
|
Packit Service |
a1973e |
.pme_udesc = "Retired branch instructions (Precise Event)",
|
|
Packit Service |
a1973e |
.pme_ucode = 0x0,
|
|
Packit Service |
a1973e |
.pme_uflags = 0,
|
|
Packit Service |
a1973e |
},
|
|
Packit Service |
a1973e |
{ .pme_uname = "CONDITIONAL",
|
|
Packit Service |
a1973e |
.pme_udesc = "Retired conditional branch instructions (Precise Event)",
|
|
Packit Service |
a1973e |
.pme_ucode = 0x1,
|
|
Packit Service |
a1973e |
.pme_uflags = 0,
|
|
Packit Service |
a1973e |
},
|
|
Packit Service |
a1973e |
{ .pme_uname = "NEAR_CALL",
|
|
Packit Service |
a1973e |
.pme_udesc = "Retired near call instructions (Precise Event)",
|
|
Packit Service |
a1973e |
.pme_ucode = 0x2,
|
|
Packit Service |
a1973e |
.pme_uflags = 0,
|
|
Packit Service |
a1973e |
},
|
|
Packit Service |
a1973e |
},
|
|
Packit Service |
a1973e |
.pme_numasks = 3
|
|
Packit Service |
a1973e |
},
|
|
Packit Service |
a1973e |
{ .pme_name = "L1D_CACHE_PREFETCH_LOCK_FB_HIT",
|
|
Packit Service |
a1973e |
.pme_desc = "L1D prefetch load lock accepted in fill buffer",
|
|
Packit Service |
a1973e |
.pme_code = 0x0152,
|
|
Packit Service |
a1973e |
.pme_flags = 0,
|
|
Packit Service |
a1973e |
},
|
|
Packit Service |
a1973e |
{ .pme_name = "LARGE_ITLB",
|
|
Packit Service |
a1973e |
.pme_desc = "Large ITLB accesses",
|
|
Packit Service |
a1973e |
.pme_code = 0x82,
|
|
Packit Service |
a1973e |
.pme_flags = 0,
|
|
Packit Service |
a1973e |
.pme_umasks = {
|
|
Packit Service |
a1973e |
{ .pme_uname = "HIT",
|
|
Packit Service |
a1973e |
.pme_udesc = "Large ITLB hit",
|
|
Packit Service |
a1973e |
.pme_ucode = 0x1,
|
|
Packit Service |
a1973e |
.pme_uflags = 0,
|
|
Packit Service |
a1973e |
},
|
|
Packit Service |
a1973e |
},
|
|
Packit Service |
a1973e |
.pme_numasks = 1
|
|
Packit Service |
a1973e |
},
|
|
Packit Service |
a1973e |
{ .pme_name = "LSD",
|
|
Packit Service |
a1973e |
.pme_desc = "Loop stream detector",
|
|
Packit Service |
a1973e |
.pme_code = 0xA8,
|
|
Packit Service |
a1973e |
.pme_flags = PFMLIB_NHM_UMASK_NCOMBO,
|
|
Packit Service |
a1973e |
.pme_umasks = {
|
|
Packit Service |
a1973e |
{ .pme_uname = "UOPS",
|
|
Packit Service |
a1973e |
.pme_udesc = "counts the number of micro-ops delivered by LSD",
|
|
Packit Service |
a1973e |
.pme_ucode = 0x01,
|
|
Packit Service |
a1973e |
.pme_uflags = 0,
|
|
Packit Service |
a1973e |
},
|
|
Packit Service |
a1973e |
{ .pme_uname = "ACTIVE",
|
|
Packit Service |
a1973e |
.pme_udesc = "Cycles is which at least one micro-op delivered by LSD",
|
|
Packit Service |
a1973e |
.pme_ucode = 0x01 | (1<<16),
|
|
Packit Service |
a1973e |
.pme_uflags = 0,
|
|
Packit Service |
a1973e |
},
|
|
Packit Service |
a1973e |
},
|
|
Packit Service |
a1973e |
.pme_numasks = 2
|
|
Packit Service |
a1973e |
},
|
|
Packit Service |
a1973e |
{ .pme_name = "L2_LINES_OUT",
|
|
Packit Service |
a1973e |
.pme_desc = "L2 lines evicted",
|
|
Packit Service |
a1973e |
.pme_code = 0xF2,
|
|
Packit Service |
a1973e |
.pme_flags = PFMLIB_NHM_UMASK_NCOMBO,
|
|
Packit Service |
a1973e |
.pme_umasks = {
|
|
Packit Service |
a1973e |
{ .pme_uname = "ANY",
|
|
Packit Service |
a1973e |
.pme_udesc = "L2 lines evicted",
|
|
Packit Service |
a1973e |
.pme_ucode = 0xF,
|
|
Packit Service |
a1973e |
.pme_uflags = 0,
|
|
Packit Service |
a1973e |
},
|
|
Packit Service |
a1973e |
{ .pme_uname = "DEMAND_CLEAN",
|
|
Packit Service |
a1973e |
.pme_udesc = "L2 lines evicted by a demand request",
|
|
Packit Service |
a1973e |
.pme_ucode = 0x1,
|
|
Packit Service |
a1973e |
.pme_uflags = 0,
|
|
Packit Service |
a1973e |
},
|
|
Packit Service |
a1973e |
{ .pme_uname = "DEMAND_DIRTY",
|
|
Packit Service |
a1973e |
.pme_udesc = "L2 modified lines evicted by a demand request",
|
|
Packit Service |
a1973e |
.pme_ucode = 0x2,
|
|
Packit Service |
a1973e |
.pme_uflags = 0,
|
|
Packit Service |
a1973e |
},
|
|
Packit Service |
a1973e |
{ .pme_uname = "PREFETCH_CLEAN",
|
|
Packit Service |
a1973e |
.pme_udesc = "L2 lines evicted by a prefetch request",
|
|
Packit Service |
a1973e |
.pme_ucode = 0x4,
|
|
Packit Service |
a1973e |
.pme_uflags = 0,
|
|
Packit Service |
a1973e |
},
|
|
Packit Service |
a1973e |
{ .pme_uname = "PREFETCH_DIRTY",
|
|
Packit Service |
a1973e |
.pme_udesc = "L2 modified lines evicted by a prefetch request",
|
|
Packit Service |
a1973e |
.pme_ucode = 0x8,
|
|
Packit Service |
a1973e |
.pme_uflags = 0,
|
|
Packit Service |
a1973e |
},
|
|
Packit Service |
a1973e |
},
|
|
Packit Service |
a1973e |
.pme_numasks = 5
|
|
Packit Service |
a1973e |
},
|
|
Packit Service |
a1973e |
{ .pme_name = "ITLB_MISSES",
|
|
Packit Service |
a1973e |
.pme_desc = "ITLB miss",
|
|
Packit Service |
a1973e |
.pme_code = 0x85,
|
|
Packit Service |
a1973e |
.pme_flags = PFMLIB_NHM_UMASK_NCOMBO,
|
|
Packit Service |
a1973e |
.pme_umasks = {
|
|
Packit Service |
a1973e |
{ .pme_uname = "ANY",
|
|
Packit Service |
a1973e |
.pme_udesc = "ITLB miss",
|
|
Packit Service |
a1973e |
.pme_ucode = 0x1,
|
|
Packit Service |
a1973e |
.pme_uflags = 0,
|
|
Packit Service |
a1973e |
},
|
|
Packit Service |
a1973e |
{ .pme_uname = "WALK_COMPLETED",
|
|
Packit Service |
a1973e |
.pme_udesc = "ITLB miss page walks",
|
|
Packit Service |
a1973e |
.pme_ucode = 0x2,
|
|
Packit Service |
a1973e |
.pme_uflags = 0,
|
|
Packit Service |
a1973e |
},
|
|
Packit Service |
a1973e |
{ .pme_uname = "WALK_CYCLES",
|
|
Packit Service |
a1973e |
.pme_udesc = "ITLB miss page walk cycles",
|
|
Packit Service |
a1973e |
.pme_ucode = 0x4,
|
|
Packit Service |
a1973e |
.pme_uflags = 0,
|
|
Packit Service |
a1973e |
},
|
|
Packit Service |
a1973e |
{ .pme_uname = "LARGE_WALK_COMPLETED",
|
|
Packit Service |
a1973e |
.pme_udesc = "Number of completed large page walks due to misses in the STLB",
|
|
Packit Service |
a1973e |
.pme_ucode = 0x80,
|
|
Packit Service |
a1973e |
.pme_uflags = 0,
|
|
Packit Service |
a1973e |
},
|
|
Packit Service |
a1973e |
},
|
|
Packit Service |
a1973e |
.pme_numasks = 4
|
|
Packit Service |
a1973e |
},
|
|
Packit Service |
a1973e |
{ .pme_name = "L1D_PREFETCH",
|
|
Packit Service |
a1973e |
.pme_desc = "L1D hardware prefetch",
|
|
Packit Service |
a1973e |
.pme_code = 0x4E,
|
|
Packit Service |
a1973e |
.pme_flags = PFMLIB_NHM_UMASK_NCOMBO,
|
|
Packit Service |
a1973e |
.pme_umasks = {
|
|
Packit Service |
a1973e |
{ .pme_uname = "MISS",
|
|
Packit Service |
a1973e |
.pme_udesc = "L1D hardware prefetch misses",
|
|
Packit Service |
a1973e |
.pme_ucode = 0x2,
|
|
Packit Service |
a1973e |
.pme_uflags = 0,
|
|
Packit Service |
a1973e |
},
|
|
Packit Service |
a1973e |
{ .pme_uname = "REQUESTS",
|
|
Packit Service |
a1973e |
.pme_udesc = "L1D hardware prefetch requests",
|
|
Packit Service |
a1973e |
.pme_ucode = 0x1,
|
|
Packit Service |
a1973e |
.pme_uflags = 0,
|
|
Packit Service |
a1973e |
},
|
|
Packit Service |
a1973e |
{ .pme_uname = "TRIGGERS",
|
|
Packit Service |
a1973e |
.pme_udesc = "L1D hardware prefetch requests triggered",
|
|
Packit Service |
a1973e |
.pme_ucode = 0x4,
|
|
Packit Service |
a1973e |
.pme_uflags = 0,
|
|
Packit Service |
a1973e |
},
|
|
Packit Service |
a1973e |
},
|
|
Packit Service |
a1973e |
.pme_numasks = 3
|
|
Packit Service |
a1973e |
},
|
|
Packit Service |
a1973e |
{ .pme_name = "SQ_MISC",
|
|
Packit Service |
a1973e |
.pme_desc = "Super Queue miscellaneous",
|
|
Packit Service |
a1973e |
.pme_code = 0xF4,
|
|
Packit Service |
a1973e |
.pme_flags = PFMLIB_NHM_UMASK_NCOMBO,
|
|
Packit Service |
a1973e |
.pme_umasks = {
|
|
Packit Service |
a1973e |
{ .pme_uname = "LRU_HINTS",
|
|
Packit Service |
a1973e |
.pme_udesc = "Super Queue LRU hints sent to LLC",
|
|
Packit Service |
a1973e |
.pme_ucode = 0x4,
|
|
Packit Service |
a1973e |
.pme_uflags = 0,
|
|
Packit Service |
a1973e |
},
|
|
Packit Service |
a1973e |
{ .pme_uname = "SPLIT_LOCK",
|
|
Packit Service |
a1973e |
.pme_udesc = "Super Queue lock splits across a cache line",
|
|
Packit Service |
a1973e |
.pme_ucode = 0x10,
|
|
Packit Service |
a1973e |
.pme_uflags = 0,
|
|
Packit Service |
a1973e |
},
|
|
Packit Service |
a1973e |
},
|
|
Packit Service |
a1973e |
.pme_numasks = 2
|
|
Packit Service |
a1973e |
},
|
|
Packit Service |
a1973e |
{ .pme_name = "SEG_RENAME_STALLS",
|
|
Packit Service |
a1973e |
.pme_desc = "Segment rename stall cycles",
|
|
Packit Service |
a1973e |
.pme_code = 0x01D4,
|
|
Packit Service |
a1973e |
.pme_flags = 0,
|
|
Packit Service |
a1973e |
},
|
|
Packit Service |
a1973e |
{ .pme_name = "FP_ASSIST",
|
|
Packit Service |
a1973e |
.pme_desc = "X87 Floating point assists (Precise Event)",
|
|
Packit Service |
a1973e |
.pme_code = 0xF7,
|
|
Packit Service |
a1973e |
.pme_flags = PFMLIB_NHM_PEBS|PFMLIB_NHM_UMASK_NCOMBO,
|
|
Packit Service |
a1973e |
.pme_umasks = {
|
|
Packit Service |
a1973e |
{ .pme_uname = "ALL",
|
|
Packit Service |
a1973e |
.pme_udesc = "All X87 Floating point assists (Precise Event)",
|
|
Packit Service |
a1973e |
.pme_ucode = 0x1,
|
|
Packit Service |
a1973e |
.pme_uflags = 0,
|
|
Packit Service |
a1973e |
},
|
|
Packit Service |
a1973e |
{ .pme_uname = "INPUT",
|
|
Packit Service |
a1973e |
.pme_udesc = "X87 Floating poiint assists for invalid input value (Precise Event)",
|
|
Packit Service |
a1973e |
.pme_ucode = 0x4,
|
|
Packit Service |
a1973e |
.pme_uflags = 0,
|
|
Packit Service |
a1973e |
},
|
|
Packit Service |
a1973e |
{ .pme_uname = "OUTPUT",
|
|
Packit Service |
a1973e |
.pme_udesc = "X87 Floating point assists for invalid output value (Precise Event)",
|
|
Packit Service |
a1973e |
.pme_ucode = 0x2,
|
|
Packit Service |
a1973e |
.pme_uflags = 0,
|
|
Packit Service |
a1973e |
},
|
|
Packit Service |
a1973e |
},
|
|
Packit Service |
a1973e |
.pme_numasks = 3
|
|
Packit Service |
a1973e |
},
|
|
Packit Service |
a1973e |
{ .pme_name = "SIMD_INT_128",
|
|
Packit Service |
a1973e |
.pme_desc = "128 bit SIMD operations",
|
|
Packit Service |
a1973e |
.pme_code = 0x12,
|
|
Packit Service |
a1973e |
.pme_flags = PFMLIB_NHM_UMASK_NCOMBO,
|
|
Packit Service |
a1973e |
.pme_umasks = {
|
|
Packit Service |
a1973e |
{ .pme_uname = "PACK",
|
|
Packit Service |
a1973e |
.pme_udesc = "128 bit SIMD integer pack operations",
|
|
Packit Service |
a1973e |
.pme_ucode = 0x4,
|
|
Packit Service |
a1973e |
.pme_uflags = 0,
|
|
Packit Service |
a1973e |
},
|
|
Packit Service |
a1973e |
{ .pme_uname = "PACKED_ARITH",
|
|
Packit Service |
a1973e |
.pme_udesc = "128 bit SIMD integer arithmetic operations",
|
|
Packit Service |
a1973e |
.pme_ucode = 0x20,
|
|
Packit Service |
a1973e |
.pme_uflags = 0,
|
|
Packit Service |
a1973e |
},
|
|
Packit Service |
a1973e |
{ .pme_uname = "PACKED_LOGICAL",
|
|
Packit Service |
a1973e |
.pme_udesc = "128 bit SIMD integer logical operations",
|
|
Packit Service |
a1973e |
.pme_ucode = 0x10,
|
|
Packit Service |
a1973e |
.pme_uflags = 0,
|
|
Packit Service |
a1973e |
},
|
|
Packit Service |
a1973e |
{ .pme_uname = "PACKED_MPY",
|
|
Packit Service |
a1973e |
.pme_udesc = "128 bit SIMD integer multiply operations",
|
|
Packit Service |
a1973e |
.pme_ucode = 0x1,
|
|
Packit Service |
a1973e |
.pme_uflags = 0,
|
|
Packit Service |
a1973e |
},
|
|
Packit Service |
a1973e |
{ .pme_uname = "PACKED_SHIFT",
|
|
Packit Service |
a1973e |
.pme_udesc = "128 bit SIMD integer shift operations",
|
|
Packit Service |
a1973e |
.pme_ucode = 0x2,
|
|
Packit Service |
a1973e |
.pme_uflags = 0,
|
|
Packit Service |
a1973e |
},
|
|
Packit Service |
a1973e |
{ .pme_uname = "SHUFFLE_MOVE",
|
|
Packit Service |
a1973e |
.pme_udesc = "128 bit SIMD integer shuffle/move operations",
|
|
Packit Service |
a1973e |
.pme_ucode = 0x40,
|
|
Packit Service |
a1973e |
.pme_uflags = 0,
|
|
Packit Service |
a1973e |
},
|
|
Packit Service |
a1973e |
{ .pme_uname = "UNPACK",
|
|
Packit Service |
a1973e |
.pme_udesc = "128 bit SIMD integer unpack operations",
|
|
Packit Service |
a1973e |
.pme_ucode = 0x8,
|
|
Packit Service |
a1973e |
.pme_uflags = 0,
|
|
Packit Service |
a1973e |
},
|
|
Packit Service |
a1973e |
},
|
|
Packit Service |
a1973e |
.pme_numasks = 7
|
|
Packit Service |
a1973e |
},
|
|
Packit Service |
a1973e |
{ .pme_name = "OFFCORE_REQUESTS_OUTSTANDING",
|
|
Packit Service |
a1973e |
.pme_desc = "Outstanding offcore requests",
|
|
Packit Service |
a1973e |
.pme_code = 0x60,
|
|
Packit Service |
a1973e |
.pme_flags = PFMLIB_NHM_PMC0|PFMLIB_NHM_UMASK_NCOMBO,
|
|
Packit Service |
a1973e |
.pme_umasks = {
|
|
Packit Service |
a1973e |
{ .pme_uname = "ANY_READ",
|
|
Packit Service |
a1973e |
.pme_udesc = "Outstanding offcore reads",
|
|
Packit Service |
a1973e |
.pme_ucode = 0x8,
|
|
Packit Service |
a1973e |
.pme_uflags = 0,
|
|
Packit Service |
a1973e |
},
|
|
Packit Service |
a1973e |
{ .pme_uname = "DEMAND_READ_CODE",
|
|
Packit Service |
a1973e |
.pme_udesc = "Outstanding offcore demand code reads",
|
|
Packit Service |
a1973e |
.pme_ucode = 0x2,
|
|
Packit Service |
a1973e |
.pme_uflags = 0,
|
|
Packit Service |
a1973e |
},
|
|
Packit Service |
a1973e |
{ .pme_uname = "DEMAND_READ_DATA",
|
|
Packit Service |
a1973e |
.pme_udesc = "Outstanding offcore demand data reads",
|
|
Packit Service |
a1973e |
.pme_ucode = 0x1,
|
|
Packit Service |
a1973e |
.pme_uflags = 0,
|
|
Packit Service |
a1973e |
},
|
|
Packit Service |
a1973e |
{ .pme_uname = "DEMAND_RFO",
|
|
Packit Service |
a1973e |
.pme_udesc = "Outstanding offcore demand RFOs",
|
|
Packit Service |
a1973e |
.pme_ucode = 0x4,
|
|
Packit Service |
a1973e |
.pme_uflags = 0,
|
|
Packit Service |
a1973e |
},
|
|
Packit Service |
a1973e |
},
|
|
Packit Service |
a1973e |
.pme_numasks = 4
|
|
Packit Service |
a1973e |
},
|
|
Packit Service |
a1973e |
{ .pme_name = "MEM_STORE_RETIRED",
|
|
Packit Service |
a1973e |
.pme_desc = "Retired stores",
|
|
Packit Service |
a1973e |
.pme_code = 0xC,
|
|
Packit Service |
a1973e |
.pme_flags = 0,
|
|
Packit Service |
a1973e |
.pme_umasks = {
|
|
Packit Service |
a1973e |
{ .pme_uname = "DTLB_MISS",
|
|
Packit Service |
a1973e |
.pme_udesc = "Retired stores that miss the DTLB (Precise Event)",
|
|
Packit Service |
a1973e |
.pme_ucode = 0x1,
|
|
Packit Service |
a1973e |
.pme_uflags = 0,
|
|
Packit Service |
a1973e |
},
|
|
Packit Service |
a1973e |
},
|
|
Packit Service |
a1973e |
.pme_numasks = 1
|
|
Packit Service |
a1973e |
},
|
|
Packit Service |
a1973e |
{ .pme_name = "INST_DECODED",
|
|
Packit Service |
a1973e |
.pme_desc = "Instructions decoded",
|
|
Packit Service |
a1973e |
.pme_code = 0x18,
|
|
Packit Service |
a1973e |
.pme_flags = 0,
|
|
Packit Service |
a1973e |
.pme_umasks = {
|
|
Packit Service |
a1973e |
{ .pme_uname = "DEC0",
|
|
Packit Service |
a1973e |
.pme_udesc = "Instructions that must be decoded by decoder 0",
|
|
Packit Service |
a1973e |
.pme_ucode = 0x1,
|
|
Packit Service |
a1973e |
.pme_uflags = 0,
|
|
Packit Service |
a1973e |
},
|
|
Packit Service |
a1973e |
},
|
|
Packit Service |
a1973e |
.pme_numasks = 1
|
|
Packit Service |
a1973e |
},
|
|
Packit Service |
a1973e |
{ .pme_name = "MACRO_INSTS_FUSIONS_DECODED",
|
|
Packit Service |
a1973e |
.pme_desc = "Count the number of instructions decoded that are macros-fused but not necessarily executed or retired",
|
|
Packit Service |
a1973e |
.pme_code = 0x01A6,
|
|
Packit Service |
a1973e |
.pme_flags = 0,
|
|
Packit Service |
a1973e |
},
|
|
Packit Service |
a1973e |
{ .pme_name = "MACRO_INSTS",
|
|
Packit Service |
a1973e |
.pme_desc = "macro-instructions",
|
|
Packit Service |
a1973e |
.pme_code = 0xD0,
|
|
Packit Service |
a1973e |
.pme_flags = 0,
|
|
Packit Service |
a1973e |
.pme_umasks = {
|
|
Packit Service |
a1973e |
{ .pme_uname = "DECODED",
|
|
Packit Service |
a1973e |
.pme_udesc = "Instructions decoded",
|
|
Packit Service |
a1973e |
.pme_ucode = 0x1,
|
|
Packit Service |
a1973e |
.pme_uflags = 0,
|
|
Packit Service |
a1973e |
},
|
|
Packit Service |
a1973e |
},
|
|
Packit Service |
a1973e |
.pme_numasks = 1
|
|
Packit Service |
a1973e |
},
|
|
Packit Service |
a1973e |
{ .pme_name = "PARTIAL_ADDRESS_ALIAS",
|
|
Packit Service |
a1973e |
.pme_desc = "False dependencies due to partial address aliasing",
|
|
Packit Service |
a1973e |
.pme_code = 0x0107,
|
|
Packit Service |
a1973e |
.pme_flags = 0,
|
|
Packit Service |
a1973e |
},
|
|
Packit Service |
a1973e |
{ .pme_name = "ARITH",
|
|
Packit Service |
a1973e |
.pme_desc = "Counts arithmetic multiply and divide operations",
|
|
Packit Service |
a1973e |
.pme_code = 0x14,
|
|
Packit Service |
a1973e |
.pme_flags = PFMLIB_NHM_UMASK_NCOMBO,
|
|
Packit Service |
a1973e |
.pme_umasks = {
|
|
Packit Service |
a1973e |
{ .pme_uname = "CYCLES_DIV_BUSY",
|
|
Packit Service |
a1973e |
.pme_udesc = "Counts the number of cycles the divider is busy executing divide or square root operations. The divide can be integer, X87 or Streaming SIMD Extensions (SSE). The square root operation can be either X87 or SSE. Count may be incorrect when HT is on",
|
|
Packit Service |
a1973e |
.pme_ucode = 0x01,
|
|
Packit Service |
a1973e |
.pme_uflags = 0,
|
|
Packit Service |
a1973e |
},
|
|
Packit Service |
a1973e |
{ .pme_uname = "DIV",
|
|
Packit Service |
a1973e |
.pme_udesc = "Counts the number of divide or square root operations. The divide can be integer, X87 or Streaming SIMD Extensions (SSE). The square root operation can be either X87 or SSE. Count may be incorrect when HT is on",
|
|
Packit Service |
a1973e |
.pme_ucode = 0x01 | (1<<16) | (1<<15) | (1<<10), /* cmask=1 Â invert=1 Â edge=1 */
|
|
Packit Service |
a1973e |
.pme_uflags = 0,
|
|
Packit Service |
a1973e |
},
|
|
Packit Service |
a1973e |
{ .pme_uname = "MUL",
|
|
Packit Service |
a1973e |
.pme_udesc = "Counts the number of multiply operations executed. This includes integer as well as floating point multiply operations but excludes DPPS mul and MPSAD. Count may be incorrect when HT is on",
|
|
Packit Service |
a1973e |
.pme_ucode = 0x02,
|
|
Packit Service |
a1973e |
.pme_uflags = 0,
|
|
Packit Service |
a1973e |
},
|
|
Packit Service |
a1973e |
},
|
|
Packit Service |
a1973e |
.pme_numasks = 3
|
|
Packit Service |
a1973e |
},
|
|
Packit Service |
a1973e |
{ .pme_name = "L2_TRANSACTIONS",
|
|
Packit Service |
a1973e |
.pme_desc = "All L2 transactions",
|
|
Packit Service |
a1973e |
.pme_code = 0xF0,
|
|
Packit Service |
a1973e |
.pme_flags = PFMLIB_NHM_UMASK_NCOMBO,
|
|
Packit Service |
a1973e |
.pme_umasks = {
|
|
Packit Service |
a1973e |
{ .pme_uname = "ANY",
|
|
Packit Service |
a1973e |
.pme_udesc = "All L2 transactions",
|
|
Packit Service |
a1973e |
.pme_ucode = 0x80,
|
|
Packit Service |
a1973e |
.pme_uflags = 0,
|
|
Packit Service |
a1973e |
},
|
|
Packit Service |
a1973e |
{ .pme_uname = "FILL",
|
|
Packit Service |
a1973e |
.pme_udesc = "L2 fill transactions",
|
|
Packit Service |
a1973e |
.pme_ucode = 0x20,
|
|
Packit Service |
a1973e |
.pme_uflags = 0,
|
|
Packit Service |
a1973e |
},
|
|
Packit Service |
a1973e |
{ .pme_uname = "IFETCH",
|
|
Packit Service |
a1973e |
.pme_udesc = "L2 instruction fetch transactions",
|
|
Packit Service |
a1973e |
.pme_ucode = 0x4,
|
|
Packit Service |
a1973e |
.pme_uflags = 0,
|
|
Packit Service |
a1973e |
},
|
|
Packit Service |
a1973e |
{ .pme_uname = "L1D_WB",
|
|
Packit Service |
a1973e |
.pme_udesc = "L1D writeback to L2 transactions",
|
|
Packit Service |
a1973e |
.pme_ucode = 0x10,
|
|
Packit Service |
a1973e |
.pme_uflags = 0,
|
|
Packit Service |
a1973e |
},
|
|
Packit Service |
a1973e |
{ .pme_uname = "LOAD",
|
|
Packit Service |
a1973e |
.pme_udesc = "L2 Load transactions",
|
|
Packit Service |
a1973e |
.pme_ucode = 0x1,
|
|
Packit Service |
a1973e |
.pme_uflags = 0,
|
|
Packit Service |
a1973e |
},
|
|
Packit Service |
a1973e |
{ .pme_uname = "PREFETCH",
|
|
Packit Service |
a1973e |
.pme_udesc = "L2 prefetch transactions",
|
|
Packit Service |
a1973e |
.pme_ucode = 0x8,
|
|
Packit Service |
a1973e |
.pme_uflags = 0,
|
|
Packit Service |
a1973e |
},
|
|
Packit Service |
a1973e |
{ .pme_uname = "RFO",
|
|
Packit Service |
a1973e |
.pme_udesc = "L2 RFO transactions",
|
|
Packit Service |
a1973e |
.pme_ucode = 0x2,
|
|
Packit Service |
a1973e |
.pme_uflags = 0,
|
|
Packit Service |
a1973e |
},
|
|
Packit Service |
a1973e |
{ .pme_uname = "WB",
|
|
Packit Service |
a1973e |
.pme_udesc = "L2 writeback to LLC transactions",
|
|
Packit Service |
a1973e |
.pme_ucode = 0x40,
|
|
Packit Service |
a1973e |
.pme_uflags = 0,
|
|
Packit Service |
a1973e |
},
|
|
Packit Service |
a1973e |
},
|
|
Packit Service |
a1973e |
.pme_numasks = 8
|
|
Packit Service |
a1973e |
},
|
|
Packit Service |
a1973e |
{ .pme_name = "INST_QUEUE_WRITES",
|
|
Packit Service |
a1973e |
.pme_desc = "Instructions written to instruction queue.",
|
|
Packit Service |
a1973e |
.pme_code = 0x0117,
|
|
Packit Service |
a1973e |
.pme_flags = 0,
|
|
Packit Service |
a1973e |
},
|
|
Packit Service |
a1973e |
{ .pme_name = "LSD_OVERFLOW",
|
|
Packit Service |
a1973e |
.pme_desc = "Number of loops that cannot stream from the instruction queue.",
|
|
Packit Service |
a1973e |
.pme_code = 0x0120,
|
|
Packit Service |
a1973e |
.pme_flags = 0,
|
|
Packit Service |
a1973e |
},
|
|
Packit Service |
a1973e |
{ .pme_name = "SB_DRAIN",
|
|
Packit Service |
a1973e |
.pme_desc = "store buffer",
|
|
Packit Service |
a1973e |
.pme_code = 0x4,
|
|
Packit Service |
a1973e |
.pme_flags = 0,
|
|
Packit Service |
a1973e |
.pme_umasks = {
|
|
Packit Service |
a1973e |
{ .pme_uname = "ANY",
|
|
Packit Service |
a1973e |
.pme_udesc = "All Store buffer stall cycles",
|
|
Packit Service |
a1973e |
.pme_ucode = 0x7,
|
|
Packit Service |
a1973e |
.pme_uflags = 0,
|
|
Packit Service |
a1973e |
},
|
|
Packit Service |
a1973e |
},
|
|
Packit Service |
a1973e |
.pme_numasks = 1
|
|
Packit Service |
a1973e |
},
|
|
Packit Service |
a1973e |
{ .pme_name = "LOAD_HIT_PRE",
|
|
Packit Service |
a1973e |
.pme_desc = "Load operations conflicting with software prefetches",
|
|
Packit Service |
a1973e |
.pme_code = 0x014C,
|
|
Packit Service |
a1973e |
.pme_flags = PFMLIB_NHM_PMC01,
|
|
Packit Service |
a1973e |
},
|
|
Packit Service |
a1973e |
{ .pme_name = "MEM_UNCORE_RETIRED",
|
|
Packit Service |
a1973e |
.pme_desc = "Load instructions retired (Precise Event)",
|
|
Packit Service |
a1973e |
.pme_code = 0xF,
|
|
Packit Service |
a1973e |
.pme_flags = PFMLIB_NHM_PEBS|PFMLIB_NHM_UMASK_NCOMBO,
|
|
Packit Service |
a1973e |
.pme_umasks = {
|
|
Packit Service |
a1973e |
{ .pme_uname = "LOCAL_HITM",
|
|
Packit Service |
a1973e |
.pme_udesc = "Load instructions retired that HIT modified data in sibling core (Precise Event) (Model 44 only)",
|
|
Packit Service |
a1973e |
.pme_ucode = 0x2,
|
|
Packit Service |
a1973e |
.pme_umodel = 44,
|
|
Packit Service |
a1973e |
},
|
|
Packit Service |
a1973e |
{ .pme_uname = "LOCAL_DRAM_AND_REMOTE_CACHE_HIT",
|
|
Packit Service |
a1973e |
.pme_udesc = "Load instructions retired local dram and remote cache HIT data sources (Precise Event) (Model 44 only)",
|
|
Packit Service |
a1973e |
.pme_ucode = 0x8,
|
|
Packit Service |
a1973e |
.pme_umodel = 44,
|
|
Packit Service |
a1973e |
},
|
|
Packit Service |
a1973e |
{ .pme_uname = "REMOTE_DRAM",
|
|
Packit Service |
a1973e |
.pme_udesc = "Load instructions retired remote DRAM and remote home-remote cache HITM (Precise Event) (Model 44 only)",
|
|
Packit Service |
a1973e |
.pme_ucode = 0x10,
|
|
Packit Service |
a1973e |
.pme_umodel = 44,
|
|
Packit Service |
a1973e |
},
|
|
Packit Service |
a1973e |
{ .pme_uname = "UNCACHEABLE",
|
|
Packit Service |
a1973e |
.pme_udesc = "Load instructions retired IO (Precise Event)",
|
|
Packit Service |
a1973e |
.pme_ucode = 0x80,
|
|
Packit Service |
a1973e |
},
|
|
Packit Service |
a1973e |
{ .pme_uname = "REMOTE_HITM",
|
|
Packit Service |
a1973e |
.pme_udesc = "Retired lods that hit remote socket in modified state (Precise Event) (Model 44 only)",
|
|
Packit Service |
a1973e |
.pme_ucode = 0x4,
|
|
Packit Service |
a1973e |
.pme_umodel = 44,
|
|
Packit Service |
a1973e |
},
|
|
Packit Service |
a1973e |
{ .pme_uname = "OTHER_LLC_MISS",
|
|
Packit Service |
a1973e |
.pme_udesc = "Load instructions retired other LLC miss (Precise Event) (Model 44 only)",
|
|
Packit Service |
a1973e |
.pme_ucode = 0x20,
|
|
Packit Service |
a1973e |
.pme_umodel = 44,
|
|
Packit Service |
a1973e |
},
|
|
Packit Service |
a1973e |
{ .pme_uname = "UNKNOWN_SOURCE",
|
|
Packit Service |
a1973e |
.pme_udesc = "Load instructions retired unknown LLC miss(Precise Event) (Model 44 only)",
|
|
Packit Service |
a1973e |
.pme_ucode = 0x1,
|
|
Packit Service |
a1973e |
.pme_umodel = 44,
|
|
Packit Service |
a1973e |
},
|
|
Packit Service |
a1973e |
{ .pme_uname = "LOCAL_DRAM",
|
|
Packit Service |
a1973e |
.pme_udesc = "Retired loads with a data source of local DRAM or locally homed remote cache HITM (Precise Event) (Model 37 only)",
|
|
Packit Service |
a1973e |
.pme_ucode = 0x10,
|
|
Packit Service |
a1973e |
.pme_umodel = 37,
|
|
Packit Service |
a1973e |
},
|
|
Packit Service |
a1973e |
{ .pme_uname = "OTHER_CORE_L2_HITM",
|
|
Packit Service |
a1973e |
.pme_udesc = "Retired loads instruction that hit modified data in sibling core (Precise Event) (Model 37 only)",
|
|
Packit Service |
a1973e |
.pme_ucode = 0x2,
|
|
Packit Service |
a1973e |
.pme_umodel = 37,
|
|
Packit Service |
a1973e |
},
|
|
Packit Service |
a1973e |
{ .pme_uname = "REMOTE_CACHE_LOCAL_HOME_HIT",
|
|
Packit Service |
a1973e |
.pme_udesc = "Retired loads instruction that hit remote cache hit data source (Precise Event) (Model 37 only)",
|
|
Packit Service |
a1973e |
.pme_ucode = 0x8,
|
|
Packit Service |
a1973e |
.pme_umodel = 37,
|
|
Packit Service |
a1973e |
},
|
|
Packit Service |
a1973e |
{ .pme_uname = "REMOTE_DRAM",
|
|
Packit Service |
a1973e |
.pme_udesc = "Retired loads instruction remote DRAM and remote home-remote cache HITM (Precise Event) (Model 37 only)",
|
|
Packit Service |
a1973e |
.pme_ucode = 0x20,
|
|
Packit Service |
a1973e |
.pme_umodel = 37,
|
|
Packit Service |
a1973e |
},
|
|
Packit Service |
a1973e |
},
|
|
Packit Service |
a1973e |
.pme_numasks = 11,
|
|
Packit Service |
a1973e |
},
|
|
Packit Service |
a1973e |
{ .pme_name = "L2_DATA_RQSTS",
|
|
Packit Service |
a1973e |
.pme_desc = "All L2 data requests",
|
|
Packit Service |
a1973e |
.pme_code = 0x26,
|
|
Packit Service |
a1973e |
.pme_flags = PFMLIB_NHM_UMASK_NCOMBO,
|
|
Packit Service |
a1973e |
.pme_umasks = {
|
|
Packit Service |
a1973e |
{ .pme_uname = "ANY",
|
|
Packit Service |
a1973e |
.pme_udesc = "All L2 data requests",
|
|
Packit Service |
a1973e |
.pme_ucode = 0xFF,
|
|
Packit Service |
a1973e |
.pme_uflags = 0,
|
|
Packit Service |
a1973e |
},
|
|
Packit Service |
a1973e |
{ .pme_uname = "DEMAND_E_STATE",
|
|
Packit Service |
a1973e |
.pme_udesc = "L2 data demand loads in E state",
|
|
Packit Service |
a1973e |
.pme_ucode = 0x4,
|
|
Packit Service |
a1973e |
.pme_uflags = 0,
|
|
Packit Service |
a1973e |
},
|
|
Packit Service |
a1973e |
{ .pme_uname = "DEMAND_I_STATE",
|
|
Packit Service |
a1973e |
.pme_udesc = "L2 data demand loads in I state (misses)",
|
|
Packit Service |
a1973e |
.pme_ucode = 0x1,
|
|
Packit Service |
a1973e |
.pme_uflags = 0,
|
|
Packit Service |
a1973e |
},
|
|
Packit Service |
a1973e |
{ .pme_uname = "DEMAND_M_STATE",
|
|
Packit Service |
a1973e |
.pme_udesc = "L2 data demand loads in M state",
|
|
Packit Service |
a1973e |
.pme_ucode = 0x8,
|
|
Packit Service |
a1973e |
.pme_uflags = 0,
|
|
Packit Service |
a1973e |
},
|
|
Packit Service |
a1973e |
{ .pme_uname = "DEMAND_MESI",
|
|
Packit Service |
a1973e |
.pme_udesc = "L2 data demand requests",
|
|
Packit Service |
a1973e |
.pme_ucode = 0xF,
|
|
Packit Service |
a1973e |
.pme_uflags = 0,
|
|
Packit Service |
a1973e |
},
|
|
Packit Service |
a1973e |
{ .pme_uname = "DEMAND_S_STATE",
|
|
Packit Service |
a1973e |
.pme_udesc = "L2 data demand loads in S state",
|
|
Packit Service |
a1973e |
.pme_ucode = 0x2,
|
|
Packit Service |
a1973e |
.pme_uflags = 0,
|
|
Packit Service |
a1973e |
},
|
|
Packit Service |
a1973e |
{ .pme_uname = "PREFETCH_E_STATE",
|
|
Packit Service |
a1973e |
.pme_udesc = "L2 data prefetches in E state",
|
|
Packit Service |
a1973e |
.pme_ucode = 0x40,
|
|
Packit Service |
a1973e |
.pme_uflags = 0,
|
|
Packit Service |
a1973e |
},
|
|
Packit Service |
a1973e |
{ .pme_uname = "PREFETCH_I_STATE",
|
|
Packit Service |
a1973e |
.pme_udesc = "L2 data prefetches in the I state (misses)",
|
|
Packit Service |
a1973e |
.pme_ucode = 0x10,
|
|
Packit Service |
a1973e |
.pme_uflags = 0,
|
|
Packit Service |
a1973e |
},
|
|
Packit Service |
a1973e |
{ .pme_uname = "PREFETCH_M_STATE",
|
|
Packit Service |
a1973e |
.pme_udesc = "L2 data prefetches in M state",
|
|
Packit Service |
a1973e |
.pme_ucode = 0x80,
|
|
Packit Service |
a1973e |
.pme_uflags = 0,
|
|
Packit Service |
a1973e |
},
|
|
Packit Service |
a1973e |
{ .pme_uname = "PREFETCH_MESI",
|
|
Packit Service |
a1973e |
.pme_udesc = "All L2 data prefetches",
|
|
Packit Service |
a1973e |
.pme_ucode = 0xF0,
|
|
Packit Service |
a1973e |
.pme_uflags = 0,
|
|
Packit Service |
a1973e |
},
|
|
Packit Service |
a1973e |
{ .pme_uname = "PREFETCH_S_STATE",
|
|
Packit Service |
a1973e |
.pme_udesc = "L2 data prefetches in the S state",
|
|
Packit Service |
a1973e |
.pme_ucode = 0x20,
|
|
Packit Service |
a1973e |
.pme_uflags = 0,
|
|
Packit Service |
a1973e |
},
|
|
Packit Service |
a1973e |
},
|
|
Packit Service |
a1973e |
.pme_numasks = 11
|
|
Packit Service |
a1973e |
},
|
|
Packit Service |
a1973e |
{ .pme_name = "BR_INST_EXEC",
|
|
Packit Service |
a1973e |
.pme_desc = "Branch instructions executed",
|
|
Packit Service |
a1973e |
.pme_code = 0x88,
|
|
Packit Service |
a1973e |
.pme_flags = PFMLIB_NHM_UMASK_NCOMBO,
|
|
Packit Service |
a1973e |
.pme_umasks = {
|
|
Packit Service |
a1973e |
{ .pme_uname = "ANY",
|
|
Packit Service |
a1973e |
.pme_udesc = "Branch instructions executed",
|
|
Packit Service |
a1973e |
.pme_ucode = 0x7F,
|
|
Packit Service |
a1973e |
.pme_uflags = 0,
|
|
Packit Service |
a1973e |
},
|
|
Packit Service |
a1973e |
{ .pme_uname = "COND",
|
|
Packit Service |
a1973e |
.pme_udesc = "Conditional branch instructions executed",
|
|
Packit Service |
a1973e |
.pme_ucode = 0x1,
|
|
Packit Service |
a1973e |
.pme_uflags = 0,
|
|
Packit Service |
a1973e |
},
|
|
Packit Service |
a1973e |
{ .pme_uname = "DIRECT",
|
|
Packit Service |
a1973e |
.pme_udesc = "Unconditional branches executed",
|
|
Packit Service |
a1973e |
.pme_ucode = 0x2,
|
|
Packit Service |
a1973e |
.pme_uflags = 0,
|
|
Packit Service |
a1973e |
},
|
|
Packit Service |
a1973e |
{ .pme_uname = "DIRECT_NEAR_CALL",
|
|
Packit Service |
a1973e |
.pme_udesc = "Unconditional call branches executed",
|
|
Packit Service |
a1973e |
.pme_ucode = 0x10,
|
|
Packit Service |
a1973e |
.pme_uflags = 0,
|
|
Packit Service |
a1973e |
},
|
|
Packit Service |
a1973e |
{ .pme_uname = "INDIRECT_NEAR_CALL",
|
|
Packit Service |
a1973e |
.pme_udesc = "Indirect call branches executed",
|
|
Packit Service |
a1973e |
.pme_ucode = 0x20,
|
|
Packit Service |
a1973e |
.pme_uflags = 0,
|
|
Packit Service |
a1973e |
},
|
|
Packit Service |
a1973e |
{ .pme_uname = "INDIRECT_NON_CALL",
|
|
Packit Service |
a1973e |
.pme_udesc = "Indirect non call branches executed",
|
|
Packit Service |
a1973e |
.pme_ucode = 0x4,
|
|
Packit Service |
a1973e |
.pme_uflags = 0,
|
|
Packit Service |
a1973e |
},
|
|
Packit Service |
a1973e |
{ .pme_uname = "NEAR_CALLS",
|
|
Packit Service |
a1973e |
.pme_udesc = "Call branches executed",
|
|
Packit Service |
a1973e |
.pme_ucode = 0x30,
|
|
Packit Service |
a1973e |
.pme_uflags = 0,
|
|
Packit Service |
a1973e |
},
|
|
Packit Service |
a1973e |
{ .pme_uname = "NON_CALLS",
|
|
Packit Service |
a1973e |
.pme_udesc = "All non call branches executed",
|
|
Packit Service |
a1973e |
.pme_ucode = 0x7,
|
|
Packit Service |
a1973e |
.pme_uflags = 0,
|
|
Packit Service |
a1973e |
},
|
|
Packit Service |
a1973e |
{ .pme_uname = "RETURN_NEAR",
|
|
Packit Service |
a1973e |
.pme_udesc = "Indirect return branches executed",
|
|
Packit Service |
a1973e |
.pme_ucode = 0x8,
|
|
Packit Service |
a1973e |
.pme_uflags = 0,
|
|
Packit Service |
a1973e |
},
|
|
Packit Service |
a1973e |
{ .pme_uname = "TAKEN",
|
|
Packit Service |
a1973e |
.pme_udesc = "Taken branches executed",
|
|
Packit Service |
a1973e |
.pme_ucode = 0x40,
|
|
Packit Service |
a1973e |
.pme_uflags = 0,
|
|
Packit Service |
a1973e |
},
|
|
Packit Service |
a1973e |
},
|
|
Packit Service |
a1973e |
.pme_numasks = 10
|
|
Packit Service |
a1973e |
},
|
|
Packit Service |
a1973e |
{ .pme_name = "ITLB_MISS_RETIRED",
|
|
Packit Service |
a1973e |
.pme_desc = "Retired instructions that missed the ITLB (Precise Event)",
|
|
Packit Service |
a1973e |
.pme_code = 0x20C8,
|
|
Packit Service |
a1973e |
.pme_flags = 0,
|
|
Packit Service |
a1973e |
},
|
|
Packit Service |
a1973e |
{ .pme_name = "BPU_MISSED_CALL_RET",
|
|
Packit Service |
a1973e |
.pme_desc = "Branch prediction unit missed call or return",
|
|
Packit Service |
a1973e |
.pme_code = 0x01E5,
|
|
Packit Service |
a1973e |
.pme_flags = 0,
|
|
Packit Service |
a1973e |
},
|
|
Packit Service |
a1973e |
{ .pme_name = "SNOOPQ_REQUESTS_OUTSTANDING",
|
|
Packit Service |
a1973e |
.pme_desc = "Outstanding snoop requests",
|
|
Packit Service |
a1973e |
.pme_code = 0xB3,
|
|
Packit Service |
a1973e |
.pme_flags = PFMLIB_NHM_PMC0|PFMLIB_NHM_UMASK_NCOMBO,
|
|
Packit Service |
a1973e |
.pme_umasks = {
|
|
Packit Service |
a1973e |
{ .pme_uname = "CODE",
|
|
Packit Service |
a1973e |
.pme_udesc = "Outstanding snoop code requests",
|
|
Packit Service |
a1973e |
.pme_ucode = 0x4,
|
|
Packit Service |
a1973e |
.pme_uflags = 0,
|
|
Packit Service |
a1973e |
},
|
|
Packit Service |
a1973e |
{ .pme_uname = "CODE_NOT_EMPTY",
|
|
Packit Service |
a1973e |
.pme_udesc = "Cycles snoop code requests queue not empty",
|
|
Packit Service |
a1973e |
.pme_ucode = 0x4 | (1 << 16), /* cmask=1 */
|
|
Packit Service |
a1973e |
.pme_uflags = 0,
|
|
Packit Service |
a1973e |
},
|
|
Packit Service |
a1973e |
{ .pme_uname = "DATA",
|
|
Packit Service |
a1973e |
.pme_udesc = "Outstanding snoop data requests",
|
|
Packit Service |
a1973e |
.pme_ucode = 0x1,
|
|
Packit Service |
a1973e |
.pme_uflags = 0,
|
|
Packit Service |
a1973e |
},
|
|
Packit Service |
a1973e |
{ .pme_uname = "DATA_NOT_EMPTY",
|
|
Packit Service |
a1973e |
.pme_udesc = "Cycles snoop data requests queue not empty",
|
|
Packit Service |
a1973e |
.pme_ucode = 0x1 | (1 << 16), /* cmask=1 */
|
|
Packit Service |
a1973e |
.pme_uflags = 0,
|
|
Packit Service |
a1973e |
},
|
|
Packit Service |
a1973e |
{ .pme_uname = "INVALIDATE",
|
|
Packit Service |
a1973e |
.pme_udesc = "Outstanding snoop invalidate requests",
|
|
Packit Service |
a1973e |
.pme_ucode = 0x2,
|
|
Packit Service |
a1973e |
.pme_uflags = 0,
|
|
Packit Service |
a1973e |
},
|
|
Packit Service |
a1973e |
{ .pme_uname = "INVALIDATE_NOT_EMPTY",
|
|
Packit Service |
a1973e |
.pme_udesc = "Cycles snoop invalidate requests queue not empty",
|
|
Packit Service |
a1973e |
.pme_ucode = 0x2 | (1 << 16), /* cmask=1 */
|
|
Packit Service |
a1973e |
.pme_uflags = 0,
|
|
Packit Service |
a1973e |
},
|
|
Packit Service |
a1973e |
},
|
|
Packit Service |
a1973e |
.pme_numasks = 6
|
|
Packit Service |
a1973e |
},
|
|
Packit Service |
a1973e |
{ .pme_name = "MEM_LOAD_RETIRED",
|
|
Packit Service |
a1973e |
.pme_desc = "memory load retired (Precise Event)",
|
|
Packit Service |
a1973e |
.pme_code = 0xCB,
|
|
Packit Service |
a1973e |
.pme_flags = PFMLIB_NHM_PEBS|PFMLIB_NHM_UMASK_NCOMBO,
|
|
Packit Service |
a1973e |
.pme_umasks = {
|
|
Packit Service |
a1973e |
{ .pme_uname = "DTLB_MISS",
|
|
Packit Service |
a1973e |
.pme_udesc = "Retired loads that miss the DTLB (Precise Event)",
|
|
Packit Service |
a1973e |
.pme_ucode = 0x80,
|
|
Packit Service |
a1973e |
.pme_uflags = 0,
|
|
Packit Service |
a1973e |
},
|
|
Packit Service |
a1973e |
{ .pme_uname = "HIT_LFB",
|
|
Packit Service |
a1973e |
.pme_udesc = "Retired loads that miss L1D and hit an previously allocated LFB (Precise Event)",
|
|
Packit Service |
a1973e |
.pme_ucode = 0x40,
|
|
Packit Service |
a1973e |
.pme_uflags = 0,
|
|
Packit Service |
a1973e |
},
|
|
Packit Service |
a1973e |
{ .pme_uname = "L1D_HIT",
|
|
Packit Service |
a1973e |
.pme_udesc = "Retired loads that hit the L1 data cache (Precise Event)",
|
|
Packit Service |
a1973e |
.pme_ucode = 0x1,
|
|
Packit Service |
a1973e |
.pme_uflags = 0,
|
|
Packit Service |
a1973e |
},
|
|
Packit Service |
a1973e |
{ .pme_uname = "L2_HIT",
|
|
Packit Service |
a1973e |
.pme_udesc = "Retired loads that hit the L2 cache (Precise Event)",
|
|
Packit Service |
a1973e |
.pme_ucode = 0x2,
|
|
Packit Service |
a1973e |
.pme_uflags = 0,
|
|
Packit Service |
a1973e |
},
|
|
Packit Service |
a1973e |
{ .pme_uname = "L3_MISS",
|
|
Packit Service |
a1973e |
.pme_udesc = "Retired loads that miss the LLC cache (Precise Event)",
|
|
Packit Service |
a1973e |
.pme_ucode = 0x10,
|
|
Packit Service |
a1973e |
.pme_uflags = 0,
|
|
Packit Service |
a1973e |
},
|
|
Packit Service |
a1973e |
{ .pme_uname = "L3_UNSHARED_HIT",
|
|
Packit Service |
a1973e |
.pme_udesc = "Retired loads that hit valid versions in the LLC cache (Precise Event)",
|
|
Packit Service |
a1973e |
.pme_ucode = 0x4,
|
|
Packit Service |
a1973e |
.pme_uflags = 0,
|
|
Packit Service |
a1973e |
},
|
|
Packit Service |
a1973e |
{ .pme_uname = "OTHER_CORE_L2_HIT_HITM",
|
|
Packit Service |
a1973e |
.pme_udesc = "Retired loads that hit sibling core's L2 in modified or unmodified states (Precise Event)",
|
|
Packit Service |
a1973e |
.pme_ucode = 0x8,
|
|
Packit Service |
a1973e |
.pme_uflags = 0,
|
|
Packit Service |
a1973e |
},
|
|
Packit Service |
a1973e |
},
|
|
Packit Service |
a1973e |
.pme_numasks = 7
|
|
Packit Service |
a1973e |
},
|
|
Packit Service |
a1973e |
{ .pme_name = "L1I",
|
|
Packit Service |
a1973e |
.pme_desc = "L1I instruction fetch",
|
|
Packit Service |
a1973e |
.pme_code = 0x80,
|
|
Packit Service |
a1973e |
.pme_flags = PFMLIB_NHM_UMASK_NCOMBO,
|
|
Packit Service |
a1973e |
.pme_umasks = {
|
|
Packit Service |
a1973e |
{ .pme_uname = "CYCLES_STALLED",
|
|
Packit Service |
a1973e |
.pme_udesc = "L1I instruction fetch stall cycles",
|
|
Packit Service |
a1973e |
.pme_ucode = 0x4,
|
|
Packit Service |
a1973e |
.pme_uflags = 0,
|
|
Packit Service |
a1973e |
},
|
|
Packit Service |
a1973e |
{ .pme_uname = "HITS",
|
|
Packit Service |
a1973e |
.pme_udesc = "L1I instruction fetch hits",
|
|
Packit Service |
a1973e |
.pme_ucode = 0x1,
|
|
Packit Service |
a1973e |
.pme_uflags = 0,
|
|
Packit Service |
a1973e |
},
|
|
Packit Service |
a1973e |
{ .pme_uname = "MISSES",
|
|
Packit Service |
a1973e |
.pme_udesc = "L1I instruction fetch misses",
|
|
Packit Service |
a1973e |
.pme_ucode = 0x2,
|
|
Packit Service |
a1973e |
.pme_uflags = 0,
|
|
Packit Service |
a1973e |
},
|
|
Packit Service |
a1973e |
{ .pme_uname = "READS",
|
|
Packit Service |
a1973e |
.pme_udesc = "L1I Instruction fetches",
|
|
Packit Service |
a1973e |
.pme_ucode = 0x3,
|
|
Packit Service |
a1973e |
.pme_uflags = 0,
|
|
Packit Service |
a1973e |
},
|
|
Packit Service |
a1973e |
},
|
|
Packit Service |
a1973e |
.pme_numasks = 4
|
|
Packit Service |
a1973e |
},
|
|
Packit Service |
a1973e |
{ .pme_name = "L2_WRITE",
|
|
Packit Service |
a1973e |
.pme_desc = "L2 demand lock/store RFO",
|
|
Packit Service |
a1973e |
.pme_code = 0x27,
|
|
Packit Service |
a1973e |
.pme_flags = PFMLIB_NHM_UMASK_NCOMBO,
|
|
Packit Service |
a1973e |
.pme_umasks = {
|
|
Packit Service |
a1973e |
{ .pme_uname = "LOCK_E_STATE",
|
|
Packit Service |
a1973e |
.pme_udesc = "L2 demand lock RFOs in E state",
|
|
Packit Service |
a1973e |
.pme_ucode = 0x40,
|
|
Packit Service |
a1973e |
.pme_uflags = 0,
|
|
Packit Service |
a1973e |
},
|
|
Packit Service |
a1973e |
{ .pme_uname = "LOCK_HIT",
|
|
Packit Service |
a1973e |
.pme_udesc = "All demand L2 lock RFOs that hit the cache",
|
|
Packit Service |
a1973e |
.pme_ucode = 0xE0,
|
|
Packit Service |
a1973e |
.pme_uflags = 0,
|
|
Packit Service |
a1973e |
},
|
|
Packit Service |
a1973e |
{ .pme_uname = "LOCK_I_STATE",
|
|
Packit Service |
a1973e |
.pme_udesc = "L2 demand lock RFOs in I state (misses)",
|
|
Packit Service |
a1973e |
.pme_ucode = 0x10,
|
|
Packit Service |
a1973e |
.pme_uflags = 0,
|
|
Packit Service |
a1973e |
},
|
|
Packit Service |
a1973e |
{ .pme_uname = "LOCK_M_STATE",
|
|
Packit Service |
a1973e |
.pme_udesc = "L2 demand lock RFOs in M state",
|
|
Packit Service |
a1973e |
.pme_ucode = 0x80,
|
|
Packit Service |
a1973e |
.pme_uflags = 0,
|
|
Packit Service |
a1973e |
},
|
|
Packit Service |
a1973e |
{ .pme_uname = "LOCK_MESI",
|
|
Packit Service |
a1973e |
.pme_udesc = "All demand L2 lock RFOs",
|
|
Packit Service |
a1973e |
.pme_ucode = 0xF0,
|
|
Packit Service |
a1973e |
.pme_uflags = 0,
|
|
Packit Service |
a1973e |
},
|
|
Packit Service |
a1973e |
{ .pme_uname = "LOCK_S_STATE",
|
|
Packit Service |
a1973e |
.pme_udesc = "L2 demand lock RFOs in S state",
|
|
Packit Service |
a1973e |
.pme_ucode = 0x20,
|
|
Packit Service |
a1973e |
.pme_uflags = 0,
|
|
Packit Service |
a1973e |
},
|
|
Packit Service |
a1973e |
{ .pme_uname = "RFO_HIT",
|
|
Packit Service |
a1973e |
.pme_udesc = "All L2 demand store RFOs that hit the cache",
|
|
Packit Service |
a1973e |
.pme_ucode = 0xE,
|
|
Packit Service |
a1973e |
.pme_uflags = 0,
|
|
Packit Service |
a1973e |
},
|
|
Packit Service |
a1973e |
{ .pme_uname = "RFO_I_STATE",
|
|
Packit Service |
a1973e |
.pme_udesc = "L2 demand store RFOs in I state (misses)",
|
|
Packit Service |
a1973e |
.pme_ucode = 0x1,
|
|
Packit Service |
a1973e |
.pme_uflags = 0,
|
|
Packit Service |
a1973e |
},
|
|
Packit Service |
a1973e |
{ .pme_uname = "RFO_M_STATE",
|
|
Packit Service |
a1973e |
.pme_udesc = "L2 demand store RFOs in M state",
|
|
Packit Service |
a1973e |
.pme_ucode = 0x8,
|
|
Packit Service |
a1973e |
.pme_uflags = 0,
|
|
Packit Service |
a1973e |
},
|
|
Packit Service |
a1973e |
{ .pme_uname = "RFO_MESI",
|
|
Packit Service |
a1973e |
.pme_udesc = "All L2 demand store RFOs",
|
|
Packit Service |
a1973e |
.pme_ucode = 0xF,
|
|
Packit Service |
a1973e |
.pme_uflags = 0,
|
|
Packit Service |
a1973e |
},
|
|
Packit Service |
a1973e |
{ .pme_uname = "RFO_S_STATE",
|
|
Packit Service |
a1973e |
.pme_udesc = "L2 demand store RFOs in S state",
|
|
Packit Service |
a1973e |
.pme_ucode = 0x2,
|
|
Packit Service |
a1973e |
.pme_uflags = 0,
|
|
Packit Service |
a1973e |
},
|
|
Packit Service |
a1973e |
},
|
|
Packit Service |
a1973e |
.pme_numasks = 11
|
|
Packit Service |
a1973e |
},
|
|
Packit Service |
a1973e |
{ .pme_name = "SNOOP_RESPONSE",
|
|
Packit Service |
a1973e |
.pme_desc = "Snoop",
|
|
Packit Service |
a1973e |
.pme_code = 0xB8,
|
|
Packit Service |
a1973e |
.pme_flags = PFMLIB_NHM_UMASK_NCOMBO,
|
|
Packit Service |
a1973e |
.pme_umasks = {
|
|
Packit Service |
a1973e |
{ .pme_uname = "HIT",
|
|
Packit Service |
a1973e |
.pme_udesc = "Thread responded HIT to snoop",
|
|
Packit Service |
a1973e |
.pme_ucode = 0x1,
|
|
Packit Service |
a1973e |
.pme_uflags = 0,
|
|
Packit Service |
a1973e |
},
|
|
Packit Service |
a1973e |
{ .pme_uname = "HITE",
|
|
Packit Service |
a1973e |
.pme_udesc = "Thread responded HITE to snoop",
|
|
Packit Service |
a1973e |
.pme_ucode = 0x2,
|
|
Packit Service |
a1973e |
.pme_uflags = 0,
|
|
Packit Service |
a1973e |
},
|
|
Packit Service |
a1973e |
{ .pme_uname = "HITM",
|
|
Packit Service |
a1973e |
.pme_udesc = "Thread responded HITM to snoop",
|
|
Packit Service |
a1973e |
.pme_ucode = 0x4,
|
|
Packit Service |
a1973e |
.pme_uflags = 0,
|
|
Packit Service |
a1973e |
},
|
|
Packit Service |
a1973e |
},
|
|
Packit Service |
a1973e |
.pme_numasks = 3
|
|
Packit Service |
a1973e |
},
|
|
Packit Service |
a1973e |
{ .pme_name = "L1D",
|
|
Packit Service |
a1973e |
.pme_desc = "L1D cache",
|
|
Packit Service |
a1973e |
.pme_code = 0x51,
|
|
Packit Service |
a1973e |
.pme_flags = PFMLIB_NHM_PMC01|PFMLIB_NHM_UMASK_NCOMBO,
|
|
Packit Service |
a1973e |
.pme_umasks = {
|
|
Packit Service |
a1973e |
{ .pme_uname = "M_EVICT",
|
|
Packit Service |
a1973e |
.pme_udesc = "L1D cache lines replaced in M state ",
|
|
Packit Service |
a1973e |
.pme_ucode = 0x4,
|
|
Packit Service |
a1973e |
.pme_uflags = 0,
|
|
Packit Service |
a1973e |
},
|
|
Packit Service |
a1973e |
{ .pme_uname = "M_REPL",
|
|
Packit Service |
a1973e |
.pme_udesc = "L1D cache lines allocated in the M state",
|
|
Packit Service |
a1973e |
.pme_ucode = 0x2,
|
|
Packit Service |
a1973e |
.pme_uflags = 0,
|
|
Packit Service |
a1973e |
},
|
|
Packit Service |
a1973e |
{ .pme_uname = "M_SNOOP_EVICT",
|
|
Packit Service |
a1973e |
.pme_udesc = "L1D snoop eviction of cache lines in M state",
|
|
Packit Service |
a1973e |
.pme_ucode = 0x8,
|
|
Packit Service |
a1973e |
.pme_uflags = 0,
|
|
Packit Service |
a1973e |
},
|
|
Packit Service |
a1973e |
{ .pme_uname = "REPL",
|
|
Packit Service |
a1973e |
.pme_udesc = "L1 data cache lines allocated",
|
|
Packit Service |
a1973e |
.pme_ucode = 0x1,
|
|
Packit Service |
a1973e |
.pme_uflags = 0,
|
|
Packit Service |
a1973e |
},
|
|
Packit Service |
a1973e |
},
|
|
Packit Service |
a1973e |
.pme_numasks = 4
|
|
Packit Service |
a1973e |
},
|
|
Packit Service |
a1973e |
{ .pme_name = "RESOURCE_STALLS",
|
|
Packit Service |
a1973e |
.pme_desc = "Resource related stall cycles",
|
|
Packit Service |
a1973e |
.pme_code = 0xA2,
|
|
Packit Service |
a1973e |
.pme_flags = 0,
|
|
Packit Service |
a1973e |
.pme_umasks = {
|
|
Packit Service |
a1973e |
{ .pme_uname = "ANY",
|
|
Packit Service |
a1973e |
.pme_udesc = "Resource related stall cycles",
|
|
Packit Service |
a1973e |
.pme_ucode = 0x1,
|
|
Packit Service |
a1973e |
.pme_uflags = 0,
|
|
Packit Service |
a1973e |
},
|
|
Packit Service |
a1973e |
{ .pme_uname = "FPCW",
|
|
Packit Service |
a1973e |
.pme_udesc = "FPU control word write stall cycles",
|
|
Packit Service |
a1973e |
.pme_ucode = 0x20,
|
|
Packit Service |
a1973e |
.pme_uflags = 0,
|
|
Packit Service |
a1973e |
},
|
|
Packit Service |
a1973e |
{ .pme_uname = "LOAD",
|
|
Packit Service |
a1973e |
.pme_udesc = "Load buffer stall cycles",
|
|
Packit Service |
a1973e |
.pme_ucode = 0x2,
|
|
Packit Service |
a1973e |
.pme_uflags = 0,
|
|
Packit Service |
a1973e |
},
|
|
Packit Service |
a1973e |
{ .pme_uname = "MXCSR",
|
|
Packit Service |
a1973e |
.pme_udesc = "MXCSR rename stall cycles",
|
|
Packit Service |
a1973e |
.pme_ucode = 0x40,
|
|
Packit Service |
a1973e |
.pme_uflags = 0,
|
|
Packit Service |
a1973e |
},
|
|
Packit Service |
a1973e |
{ .pme_uname = "OTHER",
|
|
Packit Service |
a1973e |
.pme_udesc = "Other Resource related stall cycles",
|
|
Packit Service |
a1973e |
.pme_ucode = 0x80,
|
|
Packit Service |
a1973e |
.pme_uflags = 0,
|
|
Packit Service |
a1973e |
},
|
|
Packit Service |
a1973e |
{ .pme_uname = "ROB_FULL",
|
|
Packit Service |
a1973e |
.pme_udesc = "ROB full stall cycles",
|
|
Packit Service |
a1973e |
.pme_ucode = 0x10,
|
|
Packit Service |
a1973e |
.pme_uflags = 0,
|
|
Packit Service |
a1973e |
},
|
|
Packit Service |
a1973e |
{ .pme_uname = "RS_FULL",
|
|
Packit Service |
a1973e |
.pme_udesc = "Reservation Station full stall cycles",
|
|
Packit Service |
a1973e |
.pme_ucode = 0x4,
|
|
Packit Service |
a1973e |
.pme_uflags = 0,
|
|
Packit Service |
a1973e |
},
|
|
Packit Service |
a1973e |
{ .pme_uname = "STORE",
|
|
Packit Service |
a1973e |
.pme_udesc = "Store buffer stall cycles",
|
|
Packit Service |
a1973e |
.pme_ucode = 0x8,
|
|
Packit Service |
a1973e |
.pme_uflags = 0,
|
|
Packit Service |
a1973e |
},
|
|
Packit Service |
a1973e |
},
|
|
Packit Service |
a1973e |
.pme_numasks = 8
|
|
Packit Service |
a1973e |
},
|
|
Packit Service |
a1973e |
{ .pme_name = "RAT_STALLS",
|
|
Packit Service |
a1973e |
.pme_desc = "All RAT stall cycles",
|
|
Packit Service |
a1973e |
.pme_code = 0xD2,
|
|
Packit Service |
a1973e |
.pme_flags = 0,
|
|
Packit Service |
a1973e |
.pme_umasks = {
|
|
Packit Service |
a1973e |
{ .pme_uname = "ANY",
|
|
Packit Service |
a1973e |
.pme_udesc = "All RAT stall cycles",
|
|
Packit Service |
a1973e |
.pme_ucode = 0xF,
|
|
Packit Service |
a1973e |
.pme_uflags = 0,
|
|
Packit Service |
a1973e |
},
|
|
Packit Service |
a1973e |
{ .pme_uname = "FLAGS",
|
|
Packit Service |
a1973e |
.pme_udesc = "Flag stall cycles",
|
|
Packit Service |
a1973e |
.pme_ucode = 0x1,
|
|
Packit Service |
a1973e |
.pme_uflags = 0,
|
|
Packit Service |
a1973e |
},
|
|
Packit Service |
a1973e |
{ .pme_uname = "REGISTERS",
|
|
Packit Service |
a1973e |
.pme_udesc = "Partial register stall cycles",
|
|
Packit Service |
a1973e |
.pme_ucode = 0x2,
|
|
Packit Service |
a1973e |
.pme_uflags = 0,
|
|
Packit Service |
a1973e |
},
|
|
Packit Service |
a1973e |
{ .pme_uname = "ROB_READ_PORT",
|
|
Packit Service |
a1973e |
.pme_udesc = "ROB read port stalls cycles",
|
|
Packit Service |
a1973e |
.pme_ucode = 0x4,
|
|
Packit Service |
a1973e |
.pme_uflags = 0,
|
|
Packit Service |
a1973e |
},
|
|
Packit Service |
a1973e |
{ .pme_uname = "SCOREBOARD",
|
|
Packit Service |
a1973e |
.pme_udesc = "Scoreboard stall cycles",
|
|
Packit Service |
a1973e |
.pme_ucode = 0x8,
|
|
Packit Service |
a1973e |
.pme_uflags = 0,
|
|
Packit Service |
a1973e |
},
|
|
Packit Service |
a1973e |
},
|
|
Packit Service |
a1973e |
.pme_numasks = 5
|
|
Packit Service |
a1973e |
},
|
|
Packit Service |
a1973e |
{ .pme_name = "CPU_CLK_UNHALTED",
|
|
Packit Service |
a1973e |
.pme_desc = "Cycles when processor is not in halted state",
|
|
Packit Service |
a1973e |
.pme_code = 0x3C,
|
|
Packit Service |
a1973e |
.pme_flags = PFMLIB_NHM_UMASK_NCOMBO,
|
|
Packit Service |
a1973e |
.pme_umasks = {
|
|
Packit Service |
a1973e |
{ .pme_uname = "THREAD_P",
|
|
Packit Service |
a1973e |
.pme_udesc = "Cycles when thread is not halted (programmable counter)",
|
|
Packit Service |
a1973e |
.pme_ucode = 0x00,
|
|
Packit Service |
a1973e |
.pme_uflags = 0,
|
|
Packit Service |
a1973e |
},
|
|
Packit Service |
a1973e |
{ .pme_uname = "REF_P",
|
|
Packit Service |
a1973e |
.pme_udesc = "Reference base clock (133 Mhz) cycles when thread is not halted",
|
|
Packit Service |
a1973e |
.pme_ucode = 0x01,
|
|
Packit Service |
a1973e |
.pme_uflags = 0,
|
|
Packit Service |
a1973e |
},
|
|
Packit Service |
a1973e |
},
|
|
Packit Service |
a1973e |
.pme_numasks = 2
|
|
Packit Service |
a1973e |
},
|
|
Packit Service |
a1973e |
{ .pme_name = "L1D_WB_L2",
|
|
Packit Service |
a1973e |
.pme_desc = "L1D writebacks to L2",
|
|
Packit Service |
a1973e |
.pme_code = 0x28,
|
|
Packit Service |
a1973e |
.pme_flags = PFMLIB_NHM_UMASK_NCOMBO,
|
|
Packit Service |
a1973e |
.pme_umasks = {
|
|
Packit Service |
a1973e |
{ .pme_uname = "E_STATE",
|
|
Packit Service |
a1973e |
.pme_udesc = "L1 writebacks to L2 in E state",
|
|
Packit Service |
a1973e |
.pme_ucode = 0x4,
|
|
Packit Service |
a1973e |
.pme_uflags = 0,
|
|
Packit Service |
a1973e |
},
|
|
Packit Service |
a1973e |
{ .pme_uname = "I_STATE",
|
|
Packit Service |
a1973e |
.pme_udesc = "L1 writebacks to L2 in I state (misses)",
|
|
Packit Service |
a1973e |
.pme_ucode = 0x1,
|
|
Packit Service |
a1973e |
.pme_uflags = 0,
|
|
Packit Service |
a1973e |
},
|
|
Packit Service |
a1973e |
{ .pme_uname = "M_STATE",
|
|
Packit Service |
a1973e |
.pme_udesc = "L1 writebacks to L2 in M state",
|
|
Packit Service |
a1973e |
.pme_ucode = 0x8,
|
|
Packit Service |
a1973e |
.pme_uflags = 0,
|
|
Packit Service |
a1973e |
},
|
|
Packit Service |
a1973e |
{ .pme_uname = "MESI",
|
|
Packit Service |
a1973e |
.pme_udesc = "All L1 writebacks to L2",
|
|
Packit Service |
a1973e |
.pme_ucode = 0xF,
|
|
Packit Service |
a1973e |
.pme_uflags = 0,
|
|
Packit Service |
a1973e |
},
|
|
Packit Service |
a1973e |
{ .pme_uname = "S_STATE",
|
|
Packit Service |
a1973e |
.pme_udesc = "L1 writebacks to L2 in S state",
|
|
Packit Service |
a1973e |
.pme_ucode = 0x2,
|
|
Packit Service |
a1973e |
.pme_uflags = 0,
|
|
Packit Service |
a1973e |
},
|
|
Packit Service |
a1973e |
},
|
|
Packit Service |
a1973e |
.pme_numasks = 5
|
|
Packit Service |
a1973e |
},
|
|
Packit Service |
a1973e |
{.pme_name = "MISPREDICTED_BRANCH_RETIRED",
|
|
Packit Service |
a1973e |
.pme_code = 0x00c5,
|
|
Packit Service |
a1973e |
.pme_desc = "count mispredicted branch instructions at retirement. Specifically, this event counts at retirement of the last micro-op of a branch instruction in the architectural path of the execution and experienced misprediction in the branch prediction hardware",
|
|
Packit Service |
a1973e |
},
|
|
Packit Service |
a1973e |
{.pme_name = "THREAD_ACTIVE",
|
|
Packit Service |
a1973e |
.pme_code= 0x01ec,
|
|
Packit Service |
a1973e |
.pme_desc = "Cycles thread is active",
|
|
Packit Service |
a1973e |
},
|
|
Packit Service |
a1973e |
{.pme_name = "UOP_UNFUSION",
|
|
Packit Service |
a1973e |
.pme_code= 0x01db,
|
|
Packit Service |
a1973e |
.pme_desc = "Counts unfusion events due to floating point exception to a fused uop",
|
|
Packit Service |
a1973e |
}
|
|
Packit Service |
a1973e |
};
|
|
Packit Service |
a1973e |
#define PME_WSM_UNHALTED_CORE_CYCLES 0
|
|
Packit Service |
a1973e |
#define PME_WSM_INSTRUCTIONS_RETIRED 1
|
|
Packit Service |
a1973e |
#define PME_WSM_EVENT_COUNT (sizeof(wsm_pe)/sizeof(pme_nhm_entry_t))
|