|
Packit Service |
a1973e |
/*
|
|
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 |
* PMU: amd64_fam17h (AMD64 Fam17h))
|
|
Packit Service |
a1973e |
*/
|
|
Packit Service |
a1973e |
|
|
Packit Service |
a1973e |
static const amd64_umask_t amd64_fam17h_l1_itlb_miss_l2_itlb_miss[]={
|
|
Packit Service |
a1973e |
{ .uname = "IF1G",
|
|
Packit Service |
a1973e |
.udesc = "TBD",
|
|
Packit Service |
a1973e |
.ucode = 0x4,
|
|
Packit Service |
a1973e |
},
|
|
Packit Service |
a1973e |
{ .uname = "IF2M",
|
|
Packit Service |
a1973e |
.udesc = "TBD",
|
|
Packit Service |
a1973e |
.ucode = 0x2,
|
|
Packit Service |
a1973e |
},
|
|
Packit Service |
a1973e |
{ .uname = "IF4K",
|
|
Packit Service |
a1973e |
.udesc = "TBD",
|
|
Packit Service |
a1973e |
.ucode = 0x1,
|
|
Packit Service |
a1973e |
},
|
|
Packit Service |
a1973e |
};
|
|
Packit Service |
a1973e |
|
|
Packit Service |
a1973e |
static const amd64_umask_t amd64_fam17h_retired_mmx_fp_instructions[]={
|
|
Packit Service |
a1973e |
{ .uname = "SSE_INSTR",
|
|
Packit Service |
a1973e |
.udesc = "TBD",
|
|
Packit Service |
a1973e |
.ucode = 0x4,
|
|
Packit Service |
a1973e |
},
|
|
Packit Service |
a1973e |
{ .uname = "MMX_INSTR",
|
|
Packit Service |
a1973e |
.udesc = "TBD",
|
|
Packit Service |
a1973e |
.ucode = 0x2,
|
|
Packit Service |
a1973e |
},
|
|
Packit Service |
a1973e |
{ .uname = "X87_INSTR",
|
|
Packit Service |
a1973e |
.udesc = "TBD",
|
|
Packit Service |
a1973e |
.ucode = 0x1,
|
|
Packit Service |
a1973e |
},
|
|
Packit Service |
a1973e |
};
|
|
Packit Service |
a1973e |
|
|
Packit Service |
a1973e |
static const amd64_umask_t amd64_fam17h_tagged_ibs_ops[]={
|
|
Packit Service |
a1973e |
{ .uname = "IBS_COUNT_ROLLOVER",
|
|
Packit Service |
a1973e |
.udesc = "Number of times a uop could not be tagged by IBS because of a previous tagged uop that has not retired.",
|
|
Packit Service |
a1973e |
.ucode = 0x4,
|
|
Packit Service |
a1973e |
},
|
|
Packit Service |
a1973e |
{ .uname = "IBS_TAGGED_OPS_RET",
|
|
Packit Service |
a1973e |
.udesc = "Number of uops tagged by IBS that retired.",
|
|
Packit Service |
a1973e |
.ucode = 0x2,
|
|
Packit Service |
a1973e |
},
|
|
Packit Service |
a1973e |
{ .uname = "IBS_TAGGED_OPS",
|
|
Packit Service |
a1973e |
.udesc = "Number of uops tagged by IBS.",
|
|
Packit Service |
a1973e |
.ucode = 0x1,
|
|
Packit Service |
a1973e |
},
|
|
Packit Service |
a1973e |
};
|
|
Packit Service |
a1973e |
|
|
Packit Service |
a1973e |
static const amd64_umask_t amd64_fam17h_number_of_move_elimination_and_scalar_op_optimization[]={
|
|
Packit Service |
a1973e |
{ .uname = "OPTIMIZED",
|
|
Packit Service |
a1973e |
.udesc = "Number of scalar ops optimized.",
|
|
Packit Service |
a1973e |
.ucode = 0x8,
|
|
Packit Service |
a1973e |
},
|
|
Packit Service |
a1973e |
{ .uname = "OPT_POTENTIAL",
|
|
Packit Service |
a1973e |
.udesc = "Number of ops that are candidates for optimization (have z-bit either set or pass.",
|
|
Packit Service |
a1973e |
.ucode = 0x4,
|
|
Packit Service |
a1973e |
},
|
|
Packit Service |
a1973e |
{ .uname = "SSE_MOV_OPS_ELIM",
|
|
Packit Service |
a1973e |
.udesc = "Number of SSE move ops eliminated.",
|
|
Packit Service |
a1973e |
.ucode = 0x2,
|
|
Packit Service |
a1973e |
},
|
|
Packit Service |
a1973e |
{ .uname = "SSE_MOV_OPS",
|
|
Packit Service |
a1973e |
.udesc = "Number of SSE move ops.",
|
|
Packit Service |
a1973e |
.ucode = 0x1,
|
|
Packit Service |
a1973e |
},
|
|
Packit Service |
a1973e |
};
|
|
Packit Service |
a1973e |
|
|
Packit Service |
a1973e |
static const amd64_umask_t amd64_fam17h_retired_sse_avx_operations[]={
|
|
Packit Service |
a1973e |
{ .uname = "DP_MULT_ADD_FLOPS",
|
|
Packit Service |
a1973e |
.udesc = "Double precision multiply-add flops.",
|
|
Packit Service |
a1973e |
.ucode = 0x80,
|
|
Packit Service |
a1973e |
},
|
|
Packit Service |
a1973e |
{ .uname = "DP_DIV_FLOPS",
|
|
Packit Service |
a1973e |
.udesc = "Double precision divide/square root flops.",
|
|
Packit Service |
a1973e |
.ucode = 0x40,
|
|
Packit Service |
a1973e |
},
|
|
Packit Service |
a1973e |
{ .uname = "DP_MULT_FLOPS",
|
|
Packit Service |
a1973e |
.udesc = "Double precision multiply flops.",
|
|
Packit Service |
a1973e |
.ucode = 0x20,
|
|
Packit Service |
a1973e |
},
|
|
Packit Service |
a1973e |
{ .uname = "DP_ADD_SUB_FLOPS",
|
|
Packit Service |
a1973e |
.udesc = "Double precision add/subtract flops.",
|
|
Packit Service |
a1973e |
.ucode = 0x10,
|
|
Packit Service |
a1973e |
},
|
|
Packit Service |
a1973e |
{ .uname = "SP_MULT_ADD_FLOPS",
|
|
Packit Service |
a1973e |
.udesc = "Single precision multiply-add flops.",
|
|
Packit Service |
a1973e |
.ucode = 0x8,
|
|
Packit Service |
a1973e |
},
|
|
Packit Service |
a1973e |
{ .uname = "SP_DIV_FLOPS",
|
|
Packit Service |
a1973e |
.udesc = "Single precision divide/square root flops.",
|
|
Packit Service |
a1973e |
.ucode = 0x4,
|
|
Packit Service |
a1973e |
},
|
|
Packit Service |
a1973e |
{ .uname = "SP_MULT_FLOPS",
|
|
Packit Service |
a1973e |
.udesc = "Single precision multiply flops.",
|
|
Packit Service |
a1973e |
.ucode = 0x2,
|
|
Packit Service |
a1973e |
},
|
|
Packit Service |
a1973e |
{ .uname = "SP_ADD_SUB_FLOPS",
|
|
Packit Service |
a1973e |
.udesc = "Single precision add/subtract flops.",
|
|
Packit Service |
a1973e |
.ucode = 0x1,
|
|
Packit Service |
a1973e |
},
|
|
Packit Service |
a1973e |
};
|
|
Packit Service |
a1973e |
|
|
Packit Service |
a1973e |
static const amd64_umask_t amd64_fam17h_retired_serializing_ops[]={
|
|
Packit Service |
a1973e |
{ .uname = "X87_CTRL_RET",
|
|
Packit Service |
a1973e |
.udesc = "X87 control word mispredict traps due to mispredction in RC or PC, or changes in mask bits.",
|
|
Packit Service |
a1973e |
.ucode = 0x8,
|
|
Packit Service |
a1973e |
},
|
|
Packit Service |
a1973e |
{ .uname = "X87_BOT_RET",
|
|
Packit Service |
a1973e |
.udesc = "X87 bottom-executing uops retired.",
|
|
Packit Service |
a1973e |
.ucode = 0x4,
|
|
Packit Service |
a1973e |
},
|
|
Packit Service |
a1973e |
{ .uname = "SSE_CTRL_RET",
|
|
Packit Service |
a1973e |
.udesc = "SSE control word mispreduct traps due to mispredctions in RC, FTZ or DAZ or changes in mask bits.",
|
|
Packit Service |
a1973e |
.ucode = 0x2,
|
|
Packit Service |
a1973e |
},
|
|
Packit Service |
a1973e |
{ .uname = "SSE_BOT_RET",
|
|
Packit Service |
a1973e |
.udesc = "SSE bottom-executing uops retired.",
|
|
Packit Service |
a1973e |
.ucode = 0x1,
|
|
Packit Service |
a1973e |
},
|
|
Packit Service |
a1973e |
};
|
|
Packit Service |
a1973e |
|
|
Packit Service |
a1973e |
static const amd64_umask_t amd64_fam17h_retired_x87_floating_point_operations[]={
|
|
Packit Service |
a1973e |
{ .uname = "DIV_SQR_R_OPS",
|
|
Packit Service |
a1973e |
.udesc = "Divide and square root ops",
|
|
Packit Service |
a1973e |
.ucode = 0x4,
|
|
Packit Service |
a1973e |
},
|
|
Packit Service |
a1973e |
{ .uname = "MUL_OPS",
|
|
Packit Service |
a1973e |
.udesc = "Multiple ops",
|
|
Packit Service |
a1973e |
.ucode = 0x2,
|
|
Packit Service |
a1973e |
},
|
|
Packit Service |
a1973e |
{ .uname = "ADD_SUB_OPS",
|
|
Packit Service |
a1973e |
.udesc = "Add/subtract ops",
|
|
Packit Service |
a1973e |
.ucode = 0x1,
|
|
Packit Service |
a1973e |
},
|
|
Packit Service |
a1973e |
};
|
|
Packit Service |
a1973e |
|
|
Packit Service |
a1973e |
static const amd64_umask_t amd64_fam17h_fpu_pipe_assignment[]={
|
|
Packit Service |
a1973e |
{ .uname = "DUAL3",
|
|
Packit Service |
a1973e |
.udesc = "Total number of multi-pipe uops assigned to pipe3",
|
|
Packit Service |
a1973e |
.ucode = 0x80,
|
|
Packit Service |
a1973e |
},
|
|
Packit Service |
a1973e |
{ .uname = "DUAL2",
|
|
Packit Service |
a1973e |
.udesc = "Total number of multi-pipe uops assigned to pipe2",
|
|
Packit Service |
a1973e |
.ucode = 0x40,
|
|
Packit Service |
a1973e |
},
|
|
Packit Service |
a1973e |
{ .uname = "DUAL1",
|
|
Packit Service |
a1973e |
.udesc = "Total number of multi-pipe uops assigned to pipe1",
|
|
Packit Service |
a1973e |
.ucode = 0x20,
|
|
Packit Service |
a1973e |
},
|
|
Packit Service |
a1973e |
{ .uname = "DUAL0",
|
|
Packit Service |
a1973e |
.udesc = "Total number of multi-pipe uops assigned to pipe0",
|
|
Packit Service |
a1973e |
.ucode = 0x10,
|
|
Packit Service |
a1973e |
},
|
|
Packit Service |
a1973e |
{ .uname = "TOTAL3",
|
|
Packit Service |
a1973e |
.udesc = "Total number of uops assigned to pipe3",
|
|
Packit Service |
a1973e |
.ucode = 0x8,
|
|
Packit Service |
a1973e |
},
|
|
Packit Service |
a1973e |
{ .uname = "TOTAL2",
|
|
Packit Service |
a1973e |
.udesc = "Total number of uops assigned to pipe2",
|
|
Packit Service |
a1973e |
.ucode = 0x4,
|
|
Packit Service |
a1973e |
},
|
|
Packit Service |
a1973e |
{ .uname = "TOTAL1",
|
|
Packit Service |
a1973e |
.udesc = "Total number of uops assigned to pipe1",
|
|
Packit Service |
a1973e |
.ucode = 0x2,
|
|
Packit Service |
a1973e |
},
|
|
Packit Service |
a1973e |
{ .uname = "TOTAL0",
|
|
Packit Service |
a1973e |
.udesc = "Total number of uops assigned to pipe0",
|
|
Packit Service |
a1973e |
.ucode = 0x1,
|
|
Packit Service |
a1973e |
},
|
|
Packit Service |
a1973e |
};
|
|
Packit Service |
a1973e |
|
|
Packit Service |
a1973e |
static const amd64_umask_t amd64_fam17h_instruction_cache_lines_invalidated[]={
|
|
Packit Service |
a1973e |
{ .uname = "L2_INVALIDATING_PROBE",
|
|
Packit Service |
a1973e |
.udesc = "IC line invalidated due to L2 invalidating probe (external or LS).",
|
|
Packit Service |
a1973e |
.ucode = 0x2,
|
|
Packit Service |
a1973e |
},
|
|
Packit Service |
a1973e |
{ .uname = "FILL_INVALIDATED",
|
|
Packit Service |
a1973e |
.udesc = "IC line invalidated due to overwriting fill response.",
|
|
Packit Service |
a1973e |
.ucode = 0x1,
|
|
Packit Service |
a1973e |
},
|
|
Packit Service |
a1973e |
};
|
|
Packit Service |
a1973e |
|
|
Packit Service |
a1973e |
static const amd64_umask_t amd64_fam17h_instruction_pipe_stall[]={
|
|
Packit Service |
a1973e |
{ .uname = "IC_STALL_ANY",
|
|
Packit Service |
a1973e |
.udesc = "IC pipe was stalled during this clock cycle for any reason (nothing valud in pipe ICM1).",
|
|
Packit Service |
a1973e |
.ucode = 0x4,
|
|
Packit Service |
a1973e |
},
|
|
Packit Service |
a1973e |
{ .uname = "IC_STALL_DQ_EMPTY",
|
|
Packit Service |
a1973e |
.udesc = "IC pipe was stalled during this clock cycle (including IC to OC fetches) due to DQ empty.",
|
|
Packit Service |
a1973e |
.ucode = 0x2,
|
|
Packit Service |
a1973e |
},
|
|
Packit Service |
a1973e |
{ .uname = "IC_STALL_BACK_PRESSURE",
|
|
Packit Service |
a1973e |
.udesc = "IC pipe was stalled during this clock cycle (ncluding IC to OC fetches) due to back pressure.",
|
|
Packit Service |
a1973e |
.ucode = 0x1,
|
|
Packit Service |
a1973e |
},
|
|
Packit Service |
a1973e |
};
|
|
Packit Service |
a1973e |
|
|
Packit Service |
a1973e |
static const amd64_umask_t amd64_fam17h_core_to_l2_cacheable_request_access_status[]={
|
|
Packit Service |
a1973e |
{ .uname = "LS_RD_BLK_C_S",
|
|
Packit Service |
a1973e |
.udesc = "Load/Store ReadBlock C/S hit",
|
|
Packit Service |
a1973e |
.ucode = 0x80,
|
|
Packit Service |
a1973e |
},
|
|
Packit Service |
a1973e |
{ .uname = "LS_RD_BLK_L_HIT_X",
|
|
Packit Service |
a1973e |
.udesc = "Load/Store Readblock L hit eXclusive.",
|
|
Packit Service |
a1973e |
.ucode = 0x40,
|
|
Packit Service |
a1973e |
},
|
|
Packit Service |
a1973e |
{ .uname = "LS_RD_BLK_L_HIT_S",
|
|
Packit Service |
a1973e |
.udesc = "Load/Store ReadBlock L hit Shared.",
|
|
Packit Service |
a1973e |
.ucode = 0x20,
|
|
Packit Service |
a1973e |
},
|
|
Packit Service |
a1973e |
{ .uname = "LS_RD_BLK_X",
|
|
Packit Service |
a1973e |
.udesc = "Load/Store ReadblockX/ChangeToX hit eXclusive.",
|
|
Packit Service |
a1973e |
.ucode = 0x10,
|
|
Packit Service |
a1973e |
},
|
|
Packit Service |
a1973e |
{ .uname = "LS_RD_BLK_C",
|
|
Packit Service |
a1973e |
.udesc = "Load/Store ReadBlock C S L X Change To X Miss.",
|
|
Packit Service |
a1973e |
.ucode = 0x8,
|
|
Packit Service |
a1973e |
},
|
|
Packit Service |
a1973e |
{ .uname = "IC_FILL_HIT_X",
|
|
Packit Service |
a1973e |
.udesc = "Icache fill hit eXclusive.",
|
|
Packit Service |
a1973e |
.ucode = 0x4,
|
|
Packit Service |
a1973e |
},
|
|
Packit Service |
a1973e |
{ .uname = "IC_FILL_HIT_S",
|
|
Packit Service |
a1973e |
.udesc = "Icache fill hit Shared.",
|
|
Packit Service |
a1973e |
.ucode = 0x2,
|
|
Packit Service |
a1973e |
},
|
|
Packit Service |
a1973e |
{ .uname = "IC_FILL_MISS",
|
|
Packit Service |
a1973e |
.udesc = "Icache fill miss.",
|
|
Packit Service |
a1973e |
.ucode = 0x1,
|
|
Packit Service |
a1973e |
},
|
|
Packit Service |
a1973e |
};
|
|
Packit Service |
a1973e |
|
|
Packit Service |
a1973e |
static const amd64_umask_t amd64_fam17h_cycles_with_fill_pending_from_l2[]={
|
|
Packit Service |
a1973e |
{ .uname = "L2_FILL_BUSY",
|
|
Packit Service |
a1973e |
.udesc = "TBD",
|
|
Packit Service |
a1973e |
.ucode = 0x1,
|
|
Packit Service |
a1973e |
.uflags = AMD64_FL_DFL,
|
|
Packit Service |
a1973e |
},
|
|
Packit Service |
a1973e |
};
|
|
Packit Service |
a1973e |
|
|
Packit Service |
a1973e |
static const amd64_umask_t amd64_fam17h_l2_latency[]={
|
|
Packit Service |
a1973e |
{ .uname = "L2_CYCLES_WAITING_ON_FILLS",
|
|
Packit Service |
a1973e |
.udesc = "TBD",
|
|
Packit Service |
a1973e |
.ucode = 0x1,
|
|
Packit Service |
a1973e |
.uflags = AMD64_FL_DFL,
|
|
Packit Service |
a1973e |
},
|
|
Packit Service |
a1973e |
};
|
|
Packit Service |
a1973e |
|
|
Packit Service |
a1973e |
static const amd64_umask_t amd64_fam17h_requests_to_l2_group1[]={
|
|
Packit Service |
a1973e |
{ .uname = "RD_BLK_L",
|
|
Packit Service |
a1973e |
.udesc = "TBD",
|
|
Packit Service |
a1973e |
.ucode = 0x80,
|
|
Packit Service |
a1973e |
},
|
|
Packit Service |
a1973e |
{ .uname = "RD_BLK_X",
|
|
Packit Service |
a1973e |
.udesc = "TBD",
|
|
Packit Service |
a1973e |
.ucode = 0x40,
|
|
Packit Service |
a1973e |
},
|
|
Packit Service |
a1973e |
{ .uname = "LS_RD_BLK_C_S",
|
|
Packit Service |
a1973e |
.udesc = "TBD",
|
|
Packit Service |
a1973e |
.ucode = 0x20,
|
|
Packit Service |
a1973e |
},
|
|
Packit Service |
a1973e |
{ .uname = "CACHEABLE_IC_READ",
|
|
Packit Service |
a1973e |
.udesc = "TBD",
|
|
Packit Service |
a1973e |
.ucode = 0x10,
|
|
Packit Service |
a1973e |
},
|
|
Packit Service |
a1973e |
{ .uname = "CHANGE_TO_X",
|
|
Packit Service |
a1973e |
.udesc = "TBD",
|
|
Packit Service |
a1973e |
.ucode = 0x8,
|
|
Packit Service |
a1973e |
},
|
|
Packit Service |
a1973e |
{ .uname = "PREFETCH_L2",
|
|
Packit Service |
a1973e |
.udesc = "TBD",
|
|
Packit Service |
a1973e |
.ucode = 0x4,
|
|
Packit Service |
a1973e |
},
|
|
Packit Service |
a1973e |
{ .uname = "L2_HW_PF",
|
|
Packit Service |
a1973e |
.udesc = "TBD",
|
|
Packit Service |
a1973e |
.ucode = 0x2,
|
|
Packit Service |
a1973e |
},
|
|
Packit Service |
a1973e |
{ .uname = "OTHER_REQUESTS",
|
|
Packit Service |
a1973e |
.udesc = "TBD",
|
|
Packit Service |
a1973e |
.ucode = 0x1,
|
|
Packit Service |
a1973e |
},
|
|
Packit Service |
a1973e |
};
|
|
Packit Service |
a1973e |
|
|
Packit Service |
a1973e |
static const amd64_umask_t amd64_fam17h_requests_to_l2_group2[]={
|
|
Packit Service |
a1973e |
{ .uname = "GROUP1",
|
|
Packit Service |
a1973e |
.udesc = "TBD",
|
|
Packit Service |
a1973e |
.ucode = 0x80,
|
|
Packit Service |
a1973e |
},
|
|
Packit Service |
a1973e |
{ .uname = "LS_RD_SIZED",
|
|
Packit Service |
a1973e |
.udesc = "TBD",
|
|
Packit Service |
a1973e |
.ucode = 0x40,
|
|
Packit Service |
a1973e |
},
|
|
Packit Service |
a1973e |
{ .uname = "LS_RD_SIZED_N_C",
|
|
Packit Service |
a1973e |
.udesc = "TBD",
|
|
Packit Service |
a1973e |
.ucode = 0x20,
|
|
Packit Service |
a1973e |
},
|
|
Packit Service |
a1973e |
{ .uname = "IC_RD_SIZED",
|
|
Packit Service |
a1973e |
.udesc = "TBD",
|
|
Packit Service |
a1973e |
.ucode = 0x10,
|
|
Packit Service |
a1973e |
},
|
|
Packit Service |
a1973e |
{ .uname = "IC_RD_SIZED_N_C",
|
|
Packit Service |
a1973e |
.udesc = "TBD",
|
|
Packit Service |
a1973e |
.ucode = 0x8,
|
|
Packit Service |
a1973e |
},
|
|
Packit Service |
a1973e |
{ .uname = "SMC_INVAL",
|
|
Packit Service |
a1973e |
.udesc = "TBD",
|
|
Packit Service |
a1973e |
.ucode = 0x4,
|
|
Packit Service |
a1973e |
},
|
|
Packit Service |
a1973e |
{ .uname = "BUS_LOCKS_ORIGINATOR",
|
|
Packit Service |
a1973e |
.udesc = "TBD",
|
|
Packit Service |
a1973e |
.ucode = 0x2,
|
|
Packit Service |
a1973e |
},
|
|
Packit Service |
a1973e |
{ .uname = "BUS_LOCKS_RESPONSES",
|
|
Packit Service |
a1973e |
.udesc = "TBD",
|
|
Packit Service |
a1973e |
.ucode = 0x1,
|
|
Packit Service |
a1973e |
},
|
|
Packit Service |
a1973e |
};
|
|
Packit Service |
a1973e |
|
|
Packit Service |
a1973e |
static const amd64_umask_t amd64_fam17h_ls_to_l2_wbc_requests[]={
|
|
Packit Service |
a1973e |
{ .uname = "WCB_WRITE",
|
|
Packit Service |
a1973e |
.udesc = "TBD",
|
|
Packit Service |
a1973e |
.ucode = 0x40,
|
|
Packit Service |
a1973e |
},
|
|
Packit Service |
a1973e |
{ .uname = "WCB_CLOSE",
|
|
Packit Service |
a1973e |
.udesc = "TBD",
|
|
Packit Service |
a1973e |
.ucode = 0x20,
|
|
Packit Service |
a1973e |
},
|
|
Packit Service |
a1973e |
{ .uname = "CACHE_LINE_FLUSH",
|
|
Packit Service |
a1973e |
.udesc = "TBD",
|
|
Packit Service |
a1973e |
.ucode = 0x10,
|
|
Packit Service |
a1973e |
},
|
|
Packit Service |
a1973e |
{ .uname = "I_LINE_FLUSH",
|
|
Packit Service |
a1973e |
.udesc = "TBD",
|
|
Packit Service |
a1973e |
.ucode = 0x8,
|
|
Packit Service |
a1973e |
},
|
|
Packit Service |
a1973e |
{ .uname = "ZERO_BYTE_STORE",
|
|
Packit Service |
a1973e |
.udesc = "TBD",
|
|
Packit Service |
a1973e |
.ucode = 0x4,
|
|
Packit Service |
a1973e |
},
|
|
Packit Service |
a1973e |
{ .uname = "LOCAL_IC_CLR",
|
|
Packit Service |
a1973e |
.udesc = "TBD",
|
|
Packit Service |
a1973e |
.ucode = 0x2,
|
|
Packit Service |
a1973e |
},
|
|
Packit Service |
a1973e |
{ .uname = "C_L_ZERO",
|
|
Packit Service |
a1973e |
.udesc = "TBD",
|
|
Packit Service |
a1973e |
.ucode = 0x1,
|
|
Packit Service |
a1973e |
},
|
|
Packit Service |
a1973e |
};
|
|
Packit Service |
a1973e |
|
|
Packit Service |
a1973e |
static const amd64_umask_t amd64_fam17h_ls_dispatch[]={
|
|
Packit Service |
a1973e |
{ .uname = "LD_ST_DISPATCH",
|
|
Packit Service |
a1973e |
.udesc = "Load/Store uops dispatched.",
|
|
Packit Service |
a1973e |
.ucode = 0x4,
|
|
Packit Service |
a1973e |
},
|
|
Packit Service |
a1973e |
{ .uname = "STORE_DISPATCH",
|
|
Packit Service |
a1973e |
.udesc = "Store uops dispatched.",
|
|
Packit Service |
a1973e |
.ucode = 0x2,
|
|
Packit Service |
a1973e |
},
|
|
Packit Service |
a1973e |
{ .uname = "LD_DISPATCH",
|
|
Packit Service |
a1973e |
.udesc = "Load uops dispatched.",
|
|
Packit Service |
a1973e |
.ucode = 0x1,
|
|
Packit Service |
a1973e |
},
|
|
Packit Service |
a1973e |
};
|
|
Packit Service |
a1973e |
|
|
Packit Service |
a1973e |
static const amd64_umask_t amd64_fam17h_ineffective_software_prefetch[]={
|
|
Packit Service |
a1973e |
{ .uname = "MAB_MCH_CNT",
|
|
Packit Service |
a1973e |
.udesc = "TBD",
|
|
Packit Service |
a1973e |
.ucode = 0x2,
|
|
Packit Service |
a1973e |
},
|
|
Packit Service |
a1973e |
{ .uname = "DATA_PIPE_SW_PF_DC_HIT",
|
|
Packit Service |
a1973e |
.udesc = "TBD",
|
|
Packit Service |
a1973e |
.ucode = 0x1,
|
|
Packit Service |
a1973e |
},
|
|
Packit Service |
a1973e |
};
|
|
Packit Service |
a1973e |
|
|
Packit Service |
a1973e |
static const amd64_umask_t amd64_fam17h_l1_dtlb_miss[]={
|
|
Packit Service |
a1973e |
{ .uname = "TLB_RELOAD_1G_L2_MISS",
|
|
Packit Service |
a1973e |
.udesc = "TBD",
|
|
Packit Service |
a1973e |
.ucode = 0x80,
|
|
Packit Service |
a1973e |
},
|
|
Packit Service |
a1973e |
{ .uname = "TLB_RELOAD_2M_L2_MISS",
|
|
Packit Service |
a1973e |
.udesc = "TBD",
|
|
Packit Service |
a1973e |
.ucode = 0x40,
|
|
Packit Service |
a1973e |
},
|
|
Packit Service |
a1973e |
{ .uname = "TLB_RELOAD_32K_L2_MISS",
|
|
Packit Service |
a1973e |
.udesc = "TBD",
|
|
Packit Service |
a1973e |
.ucode = 0x20,
|
|
Packit Service |
a1973e |
},
|
|
Packit Service |
a1973e |
{ .uname = "TLB_RELOAD_4K_L2_MISS",
|
|
Packit Service |
a1973e |
.udesc = "TBD",
|
|
Packit Service |
a1973e |
.ucode = 0x10,
|
|
Packit Service |
a1973e |
},
|
|
Packit Service |
a1973e |
{ .uname = "TLB_RELOAD_1G_L2_HIT",
|
|
Packit Service |
a1973e |
.udesc = "TBD",
|
|
Packit Service |
a1973e |
.ucode = 0x8,
|
|
Packit Service |
a1973e |
},
|
|
Packit Service |
a1973e |
{ .uname = "TLB_RELOAD_2M_L2_HIT",
|
|
Packit Service |
a1973e |
.udesc = "TBD",
|
|
Packit Service |
a1973e |
.ucode = 0x4,
|
|
Packit Service |
a1973e |
},
|
|
Packit Service |
a1973e |
{ .uname = "TLB_RELOAD_32K_L2_HIT",
|
|
Packit Service |
a1973e |
.udesc = "TBD",
|
|
Packit Service |
a1973e |
.ucode = 0x2,
|
|
Packit Service |
a1973e |
},
|
|
Packit Service |
a1973e |
{ .uname = "TLB_RELOAD_4K_L2_HIT",
|
|
Packit Service |
a1973e |
.udesc = "TBD",
|
|
Packit Service |
a1973e |
.ucode = 0x1,
|
|
Packit Service |
a1973e |
},
|
|
Packit Service |
a1973e |
};
|
|
Packit Service |
a1973e |
|
|
Packit Service |
a1973e |
static const amd64_umask_t amd64_fam17h_locks[]={
|
|
Packit Service |
a1973e |
{ .uname = "SPEC_LOCK_MAP_COMMIT",
|
|
Packit Service |
a1973e |
.udesc = "TBD",
|
|
Packit Service |
a1973e |
.ucode = 0x8,
|
|
Packit Service |
a1973e |
},
|
|
Packit Service |
a1973e |
{ .uname = "SPEC_LOCK",
|
|
Packit Service |
a1973e |
.udesc = "TBD",
|
|
Packit Service |
a1973e |
.ucode = 0x4,
|
|
Packit Service |
a1973e |
},
|
|
Packit Service |
a1973e |
{ .uname = "NON_SPEC_LOCK",
|
|
Packit Service |
a1973e |
.udesc = "TBD",
|
|
Packit Service |
a1973e |
.ucode = 0x2,
|
|
Packit Service |
a1973e |
},
|
|
Packit Service |
a1973e |
{ .uname = "BUS_LOCK",
|
|
Packit Service |
a1973e |
.udesc = "TBD",
|
|
Packit Service |
a1973e |
.ucode = 0x1,
|
|
Packit Service |
a1973e |
},
|
|
Packit Service |
a1973e |
};
|
|
Packit Service |
a1973e |
|
|
Packit Service |
a1973e |
static const amd64_umask_t amd64_fam17h_mab_allocation_by_pipe[]={
|
|
Packit Service |
a1973e |
{ .uname = "TLB_PIPE_EARLY",
|
|
Packit Service |
a1973e |
.udesc = "TBD",
|
|
Packit Service |
a1973e |
.ucode = 0x10,
|
|
Packit Service |
a1973e |
},
|
|
Packit Service |
a1973e |
{ .uname = "HW_PF",
|
|
Packit Service |
a1973e |
.udesc = "hw_pf",
|
|
Packit Service |
a1973e |
.ucode = 0x8,
|
|
Packit Service |
a1973e |
},
|
|
Packit Service |
a1973e |
{ .uname = "TLB_PIPE_LATE",
|
|
Packit Service |
a1973e |
.udesc = "TBD",
|
|
Packit Service |
a1973e |
.ucode = 0x4,
|
|
Packit Service |
a1973e |
},
|
|
Packit Service |
a1973e |
{ .uname = "ST_PIPE",
|
|
Packit Service |
a1973e |
.udesc = "TBD",
|
|
Packit Service |
a1973e |
.ucode = 0x2,
|
|
Packit Service |
a1973e |
},
|
|
Packit Service |
a1973e |
{ .uname = "DATA_PIPE",
|
|
Packit Service |
a1973e |
.udesc = "TBD",
|
|
Packit Service |
a1973e |
.ucode = 0x1,
|
|
Packit Service |
a1973e |
},
|
|
Packit Service |
a1973e |
};
|
|
Packit Service |
a1973e |
|
|
Packit Service |
a1973e |
static const amd64_umask_t amd64_fam17h_prefetch_instructions_dispatched[]={
|
|
Packit Service |
a1973e |
{ .uname = "PREFETCH_NTA",
|
|
Packit Service |
a1973e |
.udesc = "Non-temporal prefetches.",
|
|
Packit Service |
a1973e |
.ucode = 0x4,
|
|
Packit Service |
a1973e |
},
|
|
Packit Service |
a1973e |
{ .uname = "STORE_PREFETCH_W",
|
|
Packit Service |
a1973e |
.udesc = "TBD",
|
|
Packit Service |
a1973e |
.ucode = 0x2,
|
|
Packit Service |
a1973e |
},
|
|
Packit Service |
a1973e |
{ .uname = "LOAD_PREFETCH_W",
|
|
Packit Service |
a1973e |
.udesc = "TBD",
|
|
Packit Service |
a1973e |
.ucode = 0x1,
|
|
Packit Service |
a1973e |
},
|
|
Packit Service |
a1973e |
};
|
|
Packit Service |
a1973e |
|
|
Packit Service |
a1973e |
static const amd64_umask_t amd64_fam17h_tablewalker_allocation[]={
|
|
Packit Service |
a1973e |
{ .uname = "ALLOC_ISIDE1",
|
|
Packit Service |
a1973e |
.udesc = "TBD",
|
|
Packit Service |
a1973e |
.ucode = 0x8,
|
|
Packit Service |
a1973e |
},
|
|
Packit Service |
a1973e |
{ .uname = "ALLOC_ISIDE0",
|
|
Packit Service |
a1973e |
.udesc = "TBD",
|
|
Packit Service |
a1973e |
.ucode = 0x4,
|
|
Packit Service |
a1973e |
},
|
|
Packit Service |
a1973e |
{ .uname = "ALLOC_DSIDE1",
|
|
Packit Service |
a1973e |
.udesc = "TBD",
|
|
Packit Service |
a1973e |
.ucode = 0x2,
|
|
Packit Service |
a1973e |
},
|
|
Packit Service |
a1973e |
{ .uname = "ALLOC_DSIDE0",
|
|
Packit Service |
a1973e |
.udesc = "TBD",
|
|
Packit Service |
a1973e |
.ucode = 0x1,
|
|
Packit Service |
a1973e |
},
|
|
Packit Service |
a1973e |
};
|
|
Packit Service |
a1973e |
|
|
Packit Service |
a1973e |
static const amd64_umask_t amd64_fam17h_oc_mode_switch[]={
|
|
Packit Service |
a1973e |
{ .uname = "OC_IC_MODE_SWITCH",
|
|
Packit Service |
a1973e |
.udesc = "TBD",
|
|
Packit Service |
a1973e |
.ucode = 0x2,
|
|
Packit Service |
a1973e |
},
|
|
Packit Service |
a1973e |
{ .uname = "IC_OC_MODE_SWITCH",
|
|
Packit Service |
a1973e |
.udesc = "TBD",
|
|
Packit Service |
a1973e |
.ucode = 0x1,
|
|
Packit Service |
a1973e |
},
|
|
Packit Service |
a1973e |
};
|
|
Packit Service |
a1973e |
|
|
Packit Service |
a1973e |
static const amd64_umask_t amd64_fam17h_dynamic_tokens_dispatch_stall_cycles_0[]={
|
|
Packit Service |
a1973e |
{ .uname = "RETIRE_TOKEN_STALL",
|
|
Packit Service |
a1973e |
.udesc = "Retire tokens unavailable",
|
|
Packit Service |
a1973e |
.ucode = 0x40,
|
|
Packit Service |
a1973e |
},
|
|
Packit Service |
a1973e |
{ .uname = "AGSQ_TOKEN_STALL",
|
|
Packit Service |
a1973e |
.udesc = "AGSQ tokens unavailable",
|
|
Packit Service |
a1973e |
.ucode = 0x20,
|
|
Packit Service |
a1973e |
},
|
|
Packit Service |
a1973e |
{ .uname = "ALU_TOKEN_STALL",
|
|
Packit Service |
a1973e |
.udesc = "ALU tokens unavailable",
|
|
Packit Service |
a1973e |
.ucode = 0x10,
|
|
Packit Service |
a1973e |
},
|
|
Packit Service |
a1973e |
{ .uname = "ALSQ3_0_TOKEN_STALL",
|
|
Packit Service |
a1973e |
.udesc = "TBD",
|
|
Packit Service |
a1973e |
.ucode = 0x8,
|
|
Packit Service |
a1973e |
},
|
|
Packit Service |
a1973e |
{ .uname = "ALSQ3_TOKEN_STALL",
|
|
Packit Service |
a1973e |
.udesc = "ALSQ3 tokens unavailable",
|
|
Packit Service |
a1973e |
.ucode = 0x4,
|
|
Packit Service |
a1973e |
},
|
|
Packit Service |
a1973e |
{ .uname = "ALSQ2_TOKEN_STALL",
|
|
Packit Service |
a1973e |
.udesc = "ALSQ2 tokens unavailable",
|
|
Packit Service |
a1973e |
.ucode = 0x2,
|
|
Packit Service |
a1973e |
},
|
|
Packit Service |
a1973e |
{ .uname = "ALSQ1_TOKEN_STALL",
|
|
Packit Service |
a1973e |
.udesc = "ALSQ1 tokens unavailable",
|
|
Packit Service |
a1973e |
.ucode = 0x1,
|
|
Packit Service |
a1973e |
},
|
|
Packit Service |
a1973e |
};
|
|
Packit Service |
a1973e |
|
|
Packit Service |
a1973e |
static const amd64_entry_t amd64_fam17h_pe[]={
|
|
Packit Service |
a1973e |
{ .name = "L1_ITLB_MISS_L2_ITLB_HIT",
|
|
Packit Service |
a1973e |
.desc = "The number of instruction fetches that miss in the L1 ITLB but hit in the L2 ITLB.",
|
|
Packit Service |
a1973e |
.modmsk = AMD64_FAM17H_ATTRS,
|
|
Packit Service |
a1973e |
.code = 0x84,
|
|
Packit Service |
a1973e |
.flags = 0,
|
|
Packit Service |
a1973e |
.ngrp = 0,
|
|
Packit Service |
a1973e |
},
|
|
Packit Service |
a1973e |
{ .name = "L1_ITLB_MISS_L2_ITLB_MISS",
|
|
Packit Service |
a1973e |
.desc = "The number of instruction fetches that miss in both the L1 and L2 TLBs.",
|
|
Packit Service |
a1973e |
.modmsk = AMD64_FAM17H_ATTRS,
|
|
Packit Service |
a1973e |
.code = 0x85,
|
|
Packit Service |
a1973e |
.flags = 0,
|
|
Packit Service |
a1973e |
.ngrp = 1,
|
|
Packit Service |
a1973e |
.numasks = LIBPFM_ARRAY_SIZE(amd64_fam17h_l1_itlb_miss_l2_itlb_miss),
|
|
Packit Service |
a1973e |
.umasks = amd64_fam17h_l1_itlb_miss_l2_itlb_miss,
|
|
Packit Service |
a1973e |
},
|
|
Packit Service |
a1973e |
{ .name = "PIPELINE_RESTART_DUE_TO_INSTRUCTION_STREAM_PROBE",
|
|
Packit Service |
a1973e |
.desc = "The number of pipeline restarts caused by invalidating probes that hit on the instruction stream currently being executed. This would happen if the active instruction stream was being modified by another processor in an MP system - typically a highly unlikely event.",
|
|
Packit Service |
a1973e |
.modmsk = AMD64_FAM17H_ATTRS,
|
|
Packit Service |
a1973e |
.code = 0x86,
|
|
Packit Service |
a1973e |
.flags = 0,
|
|
Packit Service |
a1973e |
.ngrp = 0,
|
|
Packit Service |
a1973e |
},
|
|
Packit Service |
a1973e |
{ .name = "ITLB_RELOADS",
|
|
Packit Service |
a1973e |
.desc = "The number of ITLB reload requests.",
|
|
Packit Service |
a1973e |
.modmsk = AMD64_FAM17H_ATTRS,
|
|
Packit Service |
a1973e |
.code = 0x99,
|
|
Packit Service |
a1973e |
.flags = 0,
|
|
Packit Service |
a1973e |
.ngrp = 0,
|
|
Packit Service |
a1973e |
},
|
|
Packit Service |
a1973e |
{ .name = "DIV_CYCLES_BUSY_COUNT",
|
|
Packit Service |
a1973e |
.desc = "TBD",
|
|
Packit Service |
a1973e |
.modmsk = AMD64_FAM17H_ATTRS,
|
|
Packit Service |
a1973e |
.code = 0xd3,
|
|
Packit Service |
a1973e |
.flags = 0,
|
|
Packit Service |
a1973e |
.ngrp = 0,
|
|
Packit Service |
a1973e |
},
|
|
Packit Service |
a1973e |
{ .name = "DIV_OP_COUNT",
|
|
Packit Service |
a1973e |
.desc = "TBD",
|
|
Packit Service |
a1973e |
.modmsk = AMD64_FAM17H_ATTRS,
|
|
Packit Service |
a1973e |
.code = 0xd4,
|
|
Packit Service |
a1973e |
.flags = 0,
|
|
Packit Service |
a1973e |
.ngrp = 0,
|
|
Packit Service |
a1973e |
},
|
|
Packit Service |
a1973e |
{ .name = "RETIRED_BRANCH_INSTRUCTIONS",
|
|
Packit Service |
a1973e |
.desc = "The number of branch instructions retired. This includes all types of architectural control flow changes, including exceptions and interrupts.",
|
|
Packit Service |
a1973e |
.modmsk = AMD64_FAM17H_ATTRS,
|
|
Packit Service |
a1973e |
.code = 0xc2,
|
|
Packit Service |
a1973e |
.flags = 0,
|
|
Packit Service |
a1973e |
.ngrp = 0,
|
|
Packit Service |
a1973e |
},
|
|
Packit Service |
a1973e |
{ .name = "RETIRED_FAR_CONTROL_TRANSFERS",
|
|
Packit Service |
a1973e |
.desc = "The number of far control transfers retired including far call/jump/return, IRET, SYSCALL and SYSRET, plus exceptions and interrupts. Far control transfers are not subject to branch prediction.",
|
|
Packit Service |
a1973e |
.modmsk = AMD64_FAM17H_ATTRS,
|
|
Packit Service |
a1973e |
.code = 0xc6,
|
|
Packit Service |
a1973e |
.flags = 0,
|
|
Packit Service |
a1973e |
.ngrp = 0,
|
|
Packit Service |
a1973e |
},
|
|
Packit Service |
a1973e |
{ .name = "RETIRED_INDIRECT_BRANCH_INSTRUCTIONS_MISPREDICTED",
|
|
Packit Service |
a1973e |
.desc = "TBD",
|
|
Packit Service |
a1973e |
.modmsk = AMD64_FAM17H_ATTRS,
|
|
Packit Service |
a1973e |
.code = 0xca,
|
|
Packit Service |
a1973e |
.flags = 0,
|
|
Packit Service |
a1973e |
.ngrp = 0,
|
|
Packit Service |
a1973e |
},
|
|
Packit Service |
a1973e |
{ .name = "RETIRED_BRANCH_INSTRUCTIONS_MISPREDICTED",
|
|
Packit Service |
a1973e |
.desc = "The number of branch instructions retired, of any type, that were not correctly predicted. This includes those for which prediction is not attempted (far control transfers, exceptions and interrupts).",
|
|
Packit Service |
a1973e |
.modmsk = AMD64_FAM17H_ATTRS,
|
|
Packit Service |
a1973e |
.code = 0xc3,
|
|
Packit Service |
a1973e |
.flags = 0,
|
|
Packit Service |
a1973e |
.ngrp = 0,
|
|
Packit Service |
a1973e |
},
|
|
Packit Service |
a1973e |
{ .name = "RETIRED_BRANCH_RESYNCS",
|
|
Packit Service |
a1973e |
.desc = "The number of resync branches. These reflect pipeline restarts due to certain microcode assists and events such as writes to the active instruction stream, among other things. Each occurrence reflects a restart penalty similar to a branch mispredict. This is relatively rare.",
|
|
Packit Service |
a1973e |
.modmsk = AMD64_FAM17H_ATTRS,
|
|
Packit Service |
a1973e |
.code = 0xc7,
|
|
Packit Service |
a1973e |
.flags = 0,
|
|
Packit Service |
a1973e |
.ngrp = 0,
|
|
Packit Service |
a1973e |
},
|
|
Packit Service |
a1973e |
{ .name = "RETIRED_TAKEN_BRANCH_INSTRUCTIONS",
|
|
Packit Service |
a1973e |
.desc = "The number of taken branches that were retired. This includes all types of architectural control flow changes, including exceptions and interrupts.",
|
|
Packit Service |
a1973e |
.modmsk = AMD64_FAM17H_ATTRS,
|
|
Packit Service |
a1973e |
.code = 0xc4,
|
|
Packit Service |
a1973e |
.flags = 0,
|
|
Packit Service |
a1973e |
.ngrp = 0,
|
|
Packit Service |
a1973e |
},
|
|
Packit Service |
a1973e |
{ .name = "RETIRED_TAKEN_BRANCH_INSTRUCTIONS_MISPREDICTED",
|
|
Packit Service |
a1973e |
.desc = "The number of retired taken branch instructions that were mispredicted.",
|
|
Packit Service |
a1973e |
.modmsk = AMD64_FAM17H_ATTRS,
|
|
Packit Service |
a1973e |
.code = 0xc5,
|
|
Packit Service |
a1973e |
.flags = 0,
|
|
Packit Service |
a1973e |
.ngrp = 0,
|
|
Packit Service |
a1973e |
},
|
|
Packit Service |
a1973e |
{ .name = "RETIRED_CONDITIONAL_BRANCH_INSTRUCTIONS",
|
|
Packit Service |
a1973e |
.desc = "TBD",
|
|
Packit Service |
a1973e |
.modmsk = AMD64_FAM17H_ATTRS,
|
|
Packit Service |
a1973e |
.code = 0xd1,
|
|
Packit Service |
a1973e |
.flags = 0,
|
|
Packit Service |
a1973e |
.ngrp = 0,
|
|
Packit Service |
a1973e |
},
|
|
Packit Service |
a1973e |
{ .name = "RETIRED_CONDITIONAL_BRANCH_INSTRUCTIONS_MISPREDICTED",
|
|
Packit Service |
a1973e |
.desc = "TBD",
|
|
Packit Service |
a1973e |
.modmsk = AMD64_FAM17H_ATTRS,
|
|
Packit Service |
a1973e |
.code = 0xd2,
|
|
Packit Service |
a1973e |
.flags = 0,
|
|
Packit Service |
a1973e |
.ngrp = 0,
|
|
Packit Service |
a1973e |
},
|
|
Packit Service |
a1973e |
{ .name = "RETIRED_UOPS",
|
|
Packit Service |
a1973e |
.desc = "The number of uops retired. This includes all processor activity (instructions, exceptions, interrupts, microcode assists, etc.). The number of events logged per cycle can vary from 0 to 4.",
|
|
Packit Service |
a1973e |
.modmsk = AMD64_FAM17H_ATTRS,
|
|
Packit Service |
a1973e |
.code = 0xc1,
|
|
Packit Service |
a1973e |
.flags = 0,
|
|
Packit Service |
a1973e |
.ngrp = 0,
|
|
Packit Service |
a1973e |
},
|
|
Packit Service |
a1973e |
{ .name = "RETIRED_FUSED_BRANCH_INSTRUCTIONS",
|
|
Packit Service |
a1973e |
.desc = "The number of fused retired branch instructions retired per cycle. The number of events logged per cycle can vary from 0 to 3.",
|
|
Packit Service |
a1973e |
.modmsk = AMD64_FAM17H_ATTRS,
|
|
Packit Service |
a1973e |
.code = 0x1d0,
|
|
Packit Service |
a1973e |
.flags = 0,
|
|
Packit Service |
a1973e |
.ngrp = 0,
|
|
Packit Service |
a1973e |
},
|
|
Packit Service |
a1973e |
{ .name = "RETIRED_INSTRUCTIONS",
|
|
Packit Service |
a1973e |
.desc = "Instructions Retired.",
|
|
Packit Service |
a1973e |
.modmsk = AMD64_FAM17H_ATTRS,
|
|
Packit Service |
a1973e |
.code = 0xc0,
|
|
Packit Service |
a1973e |
.flags = 0,
|
|
Packit Service |
a1973e |
.ngrp = 0,
|
|
Packit Service |
a1973e |
},
|
|
Packit Service |
a1973e |
{ .name = "RETIRED_MMX_FP_INSTRUCTIONS",
|
|
Packit Service |
a1973e |
.desc = "The number of MMX, SSE or x87 instructions retired. The UnitMask allows the selection of the individual classes of instructions as given in the table. Each increment represents one complete instruction. Since this event includes non-numeric instructions it is not suitable for measuring MFLOPS.",
|
|
Packit Service |
a1973e |
.modmsk = AMD64_FAM17H_ATTRS,
|
|
Packit Service |
a1973e |
.code = 0xcb,
|
|
Packit Service |
a1973e |
.flags = 0,
|
|
Packit Service |
a1973e |
.ngrp = 1,
|
|
Packit Service |
a1973e |
.numasks = LIBPFM_ARRAY_SIZE(amd64_fam17h_retired_mmx_fp_instructions),
|
|
Packit Service |
a1973e |
.umasks = amd64_fam17h_retired_mmx_fp_instructions,
|
|
Packit Service |
a1973e |
},
|
|
Packit Service |
a1973e |
{ .name = "RETIRED_NEAR_RETURNS",
|
|
Packit Service |
a1973e |
.desc = "The number of near return instructions (RET or RETI) retired.",
|
|
Packit Service |
a1973e |
.modmsk = AMD64_FAM17H_ATTRS,
|
|
Packit Service |
a1973e |
.code = 0xc8,
|
|
Packit Service |
a1973e |
.flags = 0,
|
|
Packit Service |
a1973e |
.ngrp = 0,
|
|
Packit Service |
a1973e |
},
|
|
Packit Service |
a1973e |
{ .name = "RETIRED_NEAR_RETURNS_MISPREDICTED",
|
|
Packit Service |
a1973e |
.desc = "The number of near returns retired that were not correctly predicted by the return address predictor. Each such mispredict incurs the same penalty as a mispredicted conditional branch instruction.",
|
|
Packit Service |
a1973e |
.modmsk = AMD64_FAM17H_ATTRS,
|
|
Packit Service |
a1973e |
.code = 0xc9,
|
|
Packit Service |
a1973e |
.flags = 0,
|
|
Packit Service |
a1973e |
.ngrp = 0,
|
|
Packit Service |
a1973e |
},
|
|
Packit Service |
a1973e |
{ .name = "TAGGED_IBS_OPS",
|
|
Packit Service |
a1973e |
.desc = "TBD",
|
|
Packit Service |
a1973e |
.modmsk = AMD64_FAM17H_ATTRS,
|
|
Packit Service |
a1973e |
.code = 0x1cf,
|
|
Packit Service |
a1973e |
.flags = 0,
|
|
Packit Service |
a1973e |
.ngrp = 1,
|
|
Packit Service |
a1973e |
.numasks = LIBPFM_ARRAY_SIZE(amd64_fam17h_tagged_ibs_ops),
|
|
Packit Service |
a1973e |
.umasks = amd64_fam17h_tagged_ibs_ops,
|
|
Packit Service |
a1973e |
},
|
|
Packit Service |
a1973e |
{ .name = "NUMBER_OF_MOVE_ELIMINATION_AND_SCALAR_OP_OPTIMIZATION",
|
|
Packit Service |
a1973e |
.desc = "This is a dispatch based speculative event. It is useful for measuring the effectiveness of the Move elimination and Scalar code optimization schemes.",
|
|
Packit Service |
a1973e |
.modmsk = AMD64_FAM17H_ATTRS,
|
|
Packit Service |
a1973e |
.code = 0x4,
|
|
Packit Service |
a1973e |
.flags = 0,
|
|
Packit Service |
a1973e |
.ngrp = 1,
|
|
Packit Service |
a1973e |
.numasks = LIBPFM_ARRAY_SIZE(amd64_fam17h_number_of_move_elimination_and_scalar_op_optimization),
|
|
Packit Service |
a1973e |
.umasks = amd64_fam17h_number_of_move_elimination_and_scalar_op_optimization,
|
|
Packit Service |
a1973e |
},
|
|
Packit Service |
a1973e |
{ .name = "RETIRED_SSE_AVX_OPERATIONS",
|
|
Packit Service |
a1973e |
.desc = "This is a retire-based event. The number of retired SSE/AVX FLOPS. The number of events logged per cycle can vary from 0 to 64. This event can count above 15.",
|
|
Packit Service |
a1973e |
.modmsk = AMD64_FAM17H_ATTRS,
|
|
Packit Service |
a1973e |
.code = 0x3,
|
|
Packit Service |
a1973e |
.flags = 0,
|
|
Packit Service |
a1973e |
.ngrp = 1,
|
|
Packit Service |
a1973e |
.numasks = LIBPFM_ARRAY_SIZE(amd64_fam17h_retired_sse_avx_operations),
|
|
Packit Service |
a1973e |
.umasks = amd64_fam17h_retired_sse_avx_operations,
|
|
Packit Service |
a1973e |
},
|
|
Packit Service |
a1973e |
{ .name = "RETIRED_SERIALIZING_OPS",
|
|
Packit Service |
a1973e |
.desc = "The number of serializing Ops retired.",
|
|
Packit Service |
a1973e |
.modmsk = AMD64_FAM17H_ATTRS,
|
|
Packit Service |
a1973e |
.code = 0x5,
|
|
Packit Service |
a1973e |
.flags = 0,
|
|
Packit Service |
a1973e |
.ngrp = 1,
|
|
Packit Service |
a1973e |
.numasks = LIBPFM_ARRAY_SIZE(amd64_fam17h_retired_serializing_ops),
|
|
Packit Service |
a1973e |
.umasks = amd64_fam17h_retired_serializing_ops,
|
|
Packit Service |
a1973e |
},
|
|
Packit Service |
a1973e |
{ .name = "RETIRED_X87_FLOATING_POINT_OPERATIONS",
|
|
Packit Service |
a1973e |
.desc = "The number of x87 floating-point Ops that have retired. The number of events logged per cycle can vary from 0 to 8.",
|
|
Packit Service |
a1973e |
.modmsk = AMD64_FAM17H_ATTRS,
|
|
Packit Service |
a1973e |
.code = 0x2,
|
|
Packit Service |
a1973e |
.flags = 0,
|
|
Packit Service |
a1973e |
.ngrp = 1,
|
|
Packit Service |
a1973e |
.numasks = LIBPFM_ARRAY_SIZE(amd64_fam17h_retired_x87_floating_point_operations),
|
|
Packit Service |
a1973e |
.umasks = amd64_fam17h_retired_x87_floating_point_operations,
|
|
Packit Service |
a1973e |
},
|
|
Packit Service |
a1973e |
{ .name = "FP_SCHEDULER_EMPTY",
|
|
Packit Service |
a1973e |
.desc = "This is a speculative event. The number of cycles in which the FPU scheduler is empty. Note that some Ops like FP loads bypass the scheduler. Invert this to count cycles in which at least one FPU operation is present in the FPU.",
|
|
Packit Service |
a1973e |
.modmsk = AMD64_FAM17H_ATTRS,
|
|
Packit Service |
a1973e |
.code = 0x1,
|
|
Packit Service |
a1973e |
.flags = 0,
|
|
Packit Service |
a1973e |
.ngrp = 0,
|
|
Packit Service |
a1973e |
},
|
|
Packit Service |
a1973e |
{ .name = "FPU_PIPE_ASSIGNMENT",
|
|
Packit Service |
a1973e |
.desc = "The number of operations (uOps) and dual-pipe uOps dispatched to each of the 4 FPU execution pipelines. This event reflects how busy the FPU pipelines are and may be used for workload characterization. This includes all operations performed by x87, MMX, and SSE instructions, including moves. Each increment represents a one-cycle dispatch event. This event is a speculative event. (See Core::X86::Pmc::Core::ExRetMmxFpInstr). Since this event includes non-numeric operations it is not suitable for measuring MFLOPS.",
|
|
Packit Service |
a1973e |
.modmsk = AMD64_FAM17H_ATTRS,
|
|
Packit Service |
a1973e |
.code = 0x0,
|
|
Packit Service |
a1973e |
.flags = 0,
|
|
Packit Service |
a1973e |
.ngrp = 1,
|
|
Packit Service |
a1973e |
.numasks = LIBPFM_ARRAY_SIZE(amd64_fam17h_fpu_pipe_assignment),
|
|
Packit Service |
a1973e |
.umasks = amd64_fam17h_fpu_pipe_assignment,
|
|
Packit Service |
a1973e |
},
|
|
Packit Service |
a1973e |
{ .name = "INSTRUCTION_CACHE_REFILLS_FROM_L2",
|
|
Packit Service |
a1973e |
.desc = "The number of 64-byte instruction cachelines that was fulfilled by the L2 cache.",
|
|
Packit Service |
a1973e |
.modmsk = AMD64_FAM17H_ATTRS,
|
|
Packit Service |
a1973e |
.code = 0x82,
|
|
Packit Service |
a1973e |
.flags = 0,
|
|
Packit Service |
a1973e |
.ngrp = 0,
|
|
Packit Service |
a1973e |
},
|
|
Packit Service |
a1973e |
{ .name = "INSTRUCTION_CACHE_REFILLS_FROM_SYSTEM",
|
|
Packit Service |
a1973e |
.desc = "The number of 64-byte instruction cachelines fulfilled from system memory or another cache.",
|
|
Packit Service |
a1973e |
.modmsk = AMD64_FAM17H_ATTRS,
|
|
Packit Service |
a1973e |
.code = 0x83,
|
|
Packit Service |
a1973e |
.flags = 0,
|
|
Packit Service |
a1973e |
.ngrp = 0,
|
|
Packit Service |
a1973e |
},
|
|
Packit Service |
a1973e |
{ .name = "INSTRUCTION_CACHE_LINES_INVALIDATED",
|
|
Packit Service |
a1973e |
.desc = "The number of instruction cachelines invalidated. A non-SMC event is CMC (cross modifying code), either from the other thread of the core or another core.",
|
|
Packit Service |
a1973e |
.modmsk = AMD64_FAM17H_ATTRS,
|
|
Packit Service |
a1973e |
.code = 0x8c,
|
|
Packit Service |
a1973e |
.flags = 0,
|
|
Packit Service |
a1973e |
.ngrp = 1,
|
|
Packit Service |
a1973e |
.numasks = LIBPFM_ARRAY_SIZE(amd64_fam17h_instruction_cache_lines_invalidated),
|
|
Packit Service |
a1973e |
.umasks = amd64_fam17h_instruction_cache_lines_invalidated,
|
|
Packit Service |
a1973e |
},
|
|
Packit Service |
a1973e |
{ .name = "INSTRUCTION_PIPE_STALL",
|
|
Packit Service |
a1973e |
.desc = "TBD",
|
|
Packit Service |
a1973e |
.modmsk = AMD64_FAM17H_ATTRS,
|
|
Packit Service |
a1973e |
.code = 0x87,
|
|
Packit Service |
a1973e |
.flags = 0,
|
|
Packit Service |
a1973e |
.ngrp = 1,
|
|
Packit Service |
a1973e |
.numasks = LIBPFM_ARRAY_SIZE(amd64_fam17h_instruction_pipe_stall),
|
|
Packit Service |
a1973e |
.umasks = amd64_fam17h_instruction_pipe_stall,
|
|
Packit Service |
a1973e |
},
|
|
Packit Service |
a1973e |
{ .name = "32_BYTE_INSTRUCTION_CACHE_FETCH",
|
|
Packit Service |
a1973e |
.desc = "The number of 32B fetch windows transferred from IC pipe to DE instruction decoder (includes non-cacheable and cacheable fill responses).",
|
|
Packit Service |
a1973e |
.modmsk = AMD64_FAM17H_ATTRS,
|
|
Packit Service |
a1973e |
.code = 0x80,
|
|
Packit Service |
a1973e |
.flags = 0,
|
|
Packit Service |
a1973e |
.ngrp = 0,
|
|
Packit Service |
a1973e |
},
|
|
Packit Service |
a1973e |
{ .name = "32_BYTE_INSTRUCTION_CACHE_MISSES",
|
|
Packit Service |
a1973e |
.desc = "The number of 32B fetch windows tried to read the L1 IC and missed in the full tag.",
|
|
Packit Service |
a1973e |
.modmsk = AMD64_FAM17H_ATTRS,
|
|
Packit Service |
a1973e |
.code = 0x81,
|
|
Packit Service |
a1973e |
.flags = 0,
|
|
Packit Service |
a1973e |
.ngrp = 0,
|
|
Packit Service |
a1973e |
},
|
|
Packit Service |
a1973e |
{ .name = "CORE_TO_L2_CACHEABLE_REQUEST_ACCESS_STATUS",
|
|
Packit Service |
a1973e |
.desc = "This event does not count accesses to the L2 cache by the L2 prefetcher, but it does count accesses by the L1 prefetcher.",
|
|
Packit Service |
a1973e |
.modmsk = AMD64_FAM17H_ATTRS,
|
|
Packit Service |
a1973e |
.code = 0x64,
|
|
Packit Service |
a1973e |
.flags = 0,
|
|
Packit Service |
a1973e |
.ngrp = 1,
|
|
Packit Service |
a1973e |
.numasks = LIBPFM_ARRAY_SIZE(amd64_fam17h_core_to_l2_cacheable_request_access_status),
|
|
Packit Service |
a1973e |
.umasks = amd64_fam17h_core_to_l2_cacheable_request_access_status,
|
|
Packit Service |
a1973e |
},
|
|
Packit Service |
a1973e |
{ .name = "CYCLES_WITH_FILL_PENDING_FROM_L2",
|
|
Packit Service |
a1973e |
.desc = "Total cycles spent with one or more fill requests in flight from L2.",
|
|
Packit Service |
a1973e |
.modmsk = AMD64_FAM17H_ATTRS,
|
|
Packit Service |
a1973e |
.code = 0x6d,
|
|
Packit Service |
a1973e |
.flags = 0,
|
|
Packit Service |
a1973e |
.ngrp = 1,
|
|
Packit Service |
a1973e |
.numasks = LIBPFM_ARRAY_SIZE(amd64_fam17h_cycles_with_fill_pending_from_l2),
|
|
Packit Service |
a1973e |
.umasks = amd64_fam17h_cycles_with_fill_pending_from_l2,
|
|
Packit Service |
a1973e |
},
|
|
Packit Service |
a1973e |
{ .name = "L2_LATENCY",
|
|
Packit Service |
a1973e |
.desc = "Total cycles spent waiting for L2 fills to complete from L3 or memory, divided by four. This may be used to calculate average latency by multiplying this count by four and then dividing by the total number of L2 fills (umask L2RequestG1). Event counts are for both threads. To calculate average latency, the number of fills from both threads must be used.",
|
|
Packit Service |
a1973e |
.modmsk = AMD64_FAM17H_ATTRS,
|
|
Packit Service |
a1973e |
.code = 0x62,
|
|
Packit Service |
a1973e |
.flags = 0,
|
|
Packit Service |
a1973e |
.ngrp = 1,
|
|
Packit Service |
a1973e |
.numasks = LIBPFM_ARRAY_SIZE(amd64_fam17h_l2_latency),
|
|
Packit Service |
a1973e |
.umasks = amd64_fam17h_l2_latency,
|
|
Packit Service |
a1973e |
},
|
|
Packit Service |
a1973e |
{ .name = "REQUESTS_TO_L2_GROUP1",
|
|
Packit Service |
a1973e |
.desc = "TBD",
|
|
Packit Service |
a1973e |
.modmsk = AMD64_FAM17H_ATTRS,
|
|
Packit Service |
a1973e |
.code = 0x60,
|
|
Packit Service |
a1973e |
.flags = 0,
|
|
Packit Service |
a1973e |
.ngrp = 1,
|
|
Packit Service |
a1973e |
.numasks = LIBPFM_ARRAY_SIZE(amd64_fam17h_requests_to_l2_group1),
|
|
Packit Service |
a1973e |
.umasks = amd64_fam17h_requests_to_l2_group1,
|
|
Packit Service |
a1973e |
},
|
|
Packit Service |
a1973e |
{ .name = "REQUESTS_TO_L2_GROUP2",
|
|
Packit Service |
a1973e |
.desc = "Multi-events in that LS and IF requests can be received simultaneous.",
|
|
Packit Service |
a1973e |
.modmsk = AMD64_FAM17H_ATTRS,
|
|
Packit Service |
a1973e |
.code = 0x61,
|
|
Packit Service |
a1973e |
.flags = 0,
|
|
Packit Service |
a1973e |
.ngrp = 1,
|
|
Packit Service |
a1973e |
.numasks = LIBPFM_ARRAY_SIZE(amd64_fam17h_requests_to_l2_group2),
|
|
Packit Service |
a1973e |
.umasks = amd64_fam17h_requests_to_l2_group2,
|
|
Packit Service |
a1973e |
},
|
|
Packit Service |
a1973e |
{ .name = "LS_TO_L2_WBC_REQUESTS",
|
|
Packit Service |
a1973e |
.desc = "TBD",
|
|
Packit Service |
a1973e |
.modmsk = AMD64_FAM17H_ATTRS,
|
|
Packit Service |
a1973e |
.code = 0x63,
|
|
Packit Service |
a1973e |
.flags = 0,
|
|
Packit Service |
a1973e |
.ngrp = 1,
|
|
Packit Service |
a1973e |
.numasks = LIBPFM_ARRAY_SIZE(amd64_fam17h_ls_to_l2_wbc_requests),
|
|
Packit Service |
a1973e |
.umasks = amd64_fam17h_ls_to_l2_wbc_requests,
|
|
Packit Service |
a1973e |
},
|
|
Packit Service |
a1973e |
{ .name = "DATA_CACHE_ACCESSES",
|
|
Packit Service |
a1973e |
.desc = "The number of accesses to the data cache for load and store references. This may include certain microcode scratchpad accesses, although these are generally rare. Each increment represents an eight-byte access, although the instruction may only be accessing a portion of that. This event is a speculative event.",
|
|
Packit Service |
a1973e |
.modmsk = AMD64_FAM17H_ATTRS,
|
|
Packit Service |
a1973e |
.code = 0x40,
|
|
Packit Service |
a1973e |
.flags = 0,
|
|
Packit Service |
a1973e |
.ngrp = 0,
|
|
Packit Service |
a1973e |
},
|
|
Packit Service |
a1973e |
{ .name = "LS_DISPATCH",
|
|
Packit Service |
a1973e |
.desc = "Counts the number of operations dispatched to the LS unit. Unit Masks ADDed.",
|
|
Packit Service |
a1973e |
.modmsk = AMD64_FAM17H_ATTRS,
|
|
Packit Service |
a1973e |
.code = 0x29,
|
|
Packit Service |
a1973e |
.flags = 0,
|
|
Packit Service |
a1973e |
.ngrp = 1,
|
|
Packit Service |
a1973e |
.numasks = LIBPFM_ARRAY_SIZE(amd64_fam17h_ls_dispatch),
|
|
Packit Service |
a1973e |
.umasks = amd64_fam17h_ls_dispatch,
|
|
Packit Service |
a1973e |
},
|
|
Packit Service |
a1973e |
{ .name = "INEFFECTIVE_SOFTWARE_PREFETCH",
|
|
Packit Service |
a1973e |
.desc = "The number of software prefetches that did not fetch data outside of the processor core.",
|
|
Packit Service |
a1973e |
.modmsk = AMD64_FAM17H_ATTRS,
|
|
Packit Service |
a1973e |
.code = 0x52,
|
|
Packit Service |
a1973e |
.flags = 0,
|
|
Packit Service |
a1973e |
.ngrp = 1,
|
|
Packit Service |
a1973e |
.numasks = LIBPFM_ARRAY_SIZE(amd64_fam17h_ineffective_software_prefetch),
|
|
Packit Service |
a1973e |
.umasks = amd64_fam17h_ineffective_software_prefetch,
|
|
Packit Service |
a1973e |
},
|
|
Packit Service |
a1973e |
{ .name = "L1_DTLB_MISS",
|
|
Packit Service |
a1973e |
.desc = "L1 Data TLB misses.",
|
|
Packit Service |
a1973e |
.modmsk = AMD64_FAM17H_ATTRS,
|
|
Packit Service |
a1973e |
.code = 0x45,
|
|
Packit Service |
a1973e |
.flags = 0,
|
|
Packit Service |
a1973e |
.ngrp = 1,
|
|
Packit Service |
a1973e |
.numasks = LIBPFM_ARRAY_SIZE(amd64_fam17h_l1_dtlb_miss),
|
|
Packit Service |
a1973e |
.umasks = amd64_fam17h_l1_dtlb_miss,
|
|
Packit Service |
a1973e |
},
|
|
Packit Service |
a1973e |
{ .name = "LOCKS",
|
|
Packit Service |
a1973e |
.desc = "Lock operations. Unit masks ORed",
|
|
Packit Service |
a1973e |
.modmsk = AMD64_FAM17H_ATTRS,
|
|
Packit Service |
a1973e |
.code = 0x25,
|
|
Packit Service |
a1973e |
.flags = 0,
|
|
Packit Service |
a1973e |
.ngrp = 1,
|
|
Packit Service |
a1973e |
.numasks = LIBPFM_ARRAY_SIZE(amd64_fam17h_locks),
|
|
Packit Service |
a1973e |
.umasks = amd64_fam17h_locks,
|
|
Packit Service |
a1973e |
},
|
|
Packit Service |
a1973e |
{ .name = "MAB_ALLOCATION_BY_PIPE",
|
|
Packit Service |
a1973e |
.desc = "TBD",
|
|
Packit Service |
a1973e |
.modmsk = AMD64_FAM17H_ATTRS,
|
|
Packit Service |
a1973e |
.code = 0x41,
|
|
Packit Service |
a1973e |
.flags = 0,
|
|
Packit Service |
a1973e |
.ngrp = 1,
|
|
Packit Service |
a1973e |
.numasks = LIBPFM_ARRAY_SIZE(amd64_fam17h_mab_allocation_by_pipe),
|
|
Packit Service |
a1973e |
.umasks = amd64_fam17h_mab_allocation_by_pipe,
|
|
Packit Service |
a1973e |
},
|
|
Packit Service |
a1973e |
{ .name = "MISALIGNED_LOADS",
|
|
Packit Service |
a1973e |
.desc = "TBD",
|
|
Packit Service |
a1973e |
.modmsk = AMD64_FAM17H_ATTRS,
|
|
Packit Service |
a1973e |
.code = 0x47,
|
|
Packit Service |
a1973e |
.flags = 0,
|
|
Packit Service |
a1973e |
.ngrp = 0,
|
|
Packit Service |
a1973e |
},
|
|
Packit Service |
a1973e |
{ .name = "CYCLES_NOT_IN_HALT",
|
|
Packit Service |
a1973e |
.desc = "TBD",
|
|
Packit Service |
a1973e |
.modmsk = AMD64_FAM17H_ATTRS,
|
|
Packit Service |
a1973e |
.code = 0x76,
|
|
Packit Service |
a1973e |
.flags = 0,
|
|
Packit Service |
a1973e |
.ngrp = 0,
|
|
Packit Service |
a1973e |
},
|
|
Packit Service |
a1973e |
{ .name = "PREFETCH_INSTRUCTIONS_DISPATCHED",
|
|
Packit Service |
a1973e |
.desc = "Software Prefetch Instructions Dispatched.",
|
|
Packit Service |
a1973e |
.modmsk = AMD64_FAM17H_ATTRS,
|
|
Packit Service |
a1973e |
.code = 0x4b,
|
|
Packit Service |
a1973e |
.flags = 0,
|
|
Packit Service |
a1973e |
.ngrp = 1,
|
|
Packit Service |
a1973e |
.numasks = LIBPFM_ARRAY_SIZE(amd64_fam17h_prefetch_instructions_dispatched),
|
|
Packit Service |
a1973e |
.umasks = amd64_fam17h_prefetch_instructions_dispatched,
|
|
Packit Service |
a1973e |
},
|
|
Packit Service |
a1973e |
{ .name = "STORE_TO_LOAD_FORWARD",
|
|
Packit Service |
a1973e |
.desc = "Number of STore Lad Forward hits.",
|
|
Packit Service |
a1973e |
.modmsk = AMD64_FAM17H_ATTRS,
|
|
Packit Service |
a1973e |
.code = 0x35,
|
|
Packit Service |
a1973e |
.flags = 0,
|
|
Packit Service |
a1973e |
.ngrp = 0,
|
|
Packit Service |
a1973e |
},
|
|
Packit Service |
a1973e |
{ .name = "TABLEWALKER_ALLOCATION",
|
|
Packit Service |
a1973e |
.desc = "TBD",
|
|
Packit Service |
a1973e |
.modmsk = AMD64_FAM17H_ATTRS,
|
|
Packit Service |
a1973e |
.code = 0x46,
|
|
Packit Service |
a1973e |
.flags = 0,
|
|
Packit Service |
a1973e |
.ngrp = 1,
|
|
Packit Service |
a1973e |
.numasks = LIBPFM_ARRAY_SIZE(amd64_fam17h_tablewalker_allocation),
|
|
Packit Service |
a1973e |
.umasks = amd64_fam17h_tablewalker_allocation,
|
|
Packit Service |
a1973e |
},
|
|
Packit Service |
a1973e |
{ .name = "MERGE",
|
|
Packit Service |
a1973e |
.desc = "See <xref file='svd_core_pmc' title='Large Increment per Cycle Events' format='name'>.",
|
|
Packit Service |
a1973e |
.modmsk = AMD64_FAM17H_ATTRS,
|
|
Packit Service |
a1973e |
.code = 0xfff,
|
|
Packit Service |
a1973e |
.flags = 0,
|
|
Packit Service |
a1973e |
.ngrp = 0,
|
|
Packit Service |
a1973e |
},
|
|
Packit Service |
a1973e |
{ .name = "L1_BTB_CORRECTION",
|
|
Packit Service |
a1973e |
.desc = "TBD",
|
|
Packit Service |
a1973e |
.modmsk = AMD64_FAM17H_ATTRS,
|
|
Packit Service |
a1973e |
.code = 0x8a,
|
|
Packit Service |
a1973e |
.flags = 0,
|
|
Packit Service |
a1973e |
.ngrp = 0,
|
|
Packit Service |
a1973e |
},
|
|
Packit Service |
a1973e |
{ .name = "L2_BTB_CORRECTION",
|
|
Packit Service |
a1973e |
.desc = "TBD",
|
|
Packit Service |
a1973e |
.modmsk = AMD64_FAM17H_ATTRS,
|
|
Packit Service |
a1973e |
.code = 0x8b,
|
|
Packit Service |
a1973e |
.flags = 0,
|
|
Packit Service |
a1973e |
.ngrp = 0,
|
|
Packit Service |
a1973e |
},
|
|
Packit Service |
a1973e |
{ .name = "OC_MODE_SWITCH",
|
|
Packit Service |
a1973e |
.desc = "TBD",
|
|
Packit Service |
a1973e |
.modmsk = AMD64_FAM17H_ATTRS,
|
|
Packit Service |
a1973e |
.code = 0x28a,
|
|
Packit Service |
a1973e |
.flags = 0,
|
|
Packit Service |
a1973e |
.ngrp = 1,
|
|
Packit Service |
a1973e |
.numasks = LIBPFM_ARRAY_SIZE(amd64_fam17h_oc_mode_switch),
|
|
Packit Service |
a1973e |
.umasks = amd64_fam17h_oc_mode_switch,
|
|
Packit Service |
a1973e |
},
|
|
Packit Service |
a1973e |
{ .name = "DYNAMIC_TOKENS_DISPATCH_STALLS_CYCLES_0",
|
|
Packit Service |
a1973e |
.desc = "Cycles where a dispatch group is valid but does not get dispatched due to a token stall.",
|
|
Packit Service |
a1973e |
.modmsk = AMD64_FAM17H_ATTRS,
|
|
Packit Service |
a1973e |
.code = 0xaf,
|
|
Packit Service |
a1973e |
.flags = 0,
|
|
Packit Service |
a1973e |
.ngrp = 1,
|
|
Packit Service |
a1973e |
.numasks = LIBPFM_ARRAY_SIZE(amd64_fam17h_dynamic_tokens_dispatch_stall_cycles_0),
|
|
Packit Service |
a1973e |
.umasks = amd64_fam17h_dynamic_tokens_dispatch_stall_cycles_0,
|
|
Packit Service |
a1973e |
},
|
|
Packit Service |
a1973e |
};
|