blob: eb0b8182dcc6d6dd2dfc55e3ed68057bd5e10b52 [file] [log] [blame]
// Copyright 2017 The Fuchsia Authors. All rights reserved.
// Use of this source code is governed by a BSD-style license that can be
// found in the LICENSE file.
// Table of categories for configuring Intel Performance Monitor hardware
// for Skylake/Kabylake. See Intel Vol3 Chapter 19.2 Performance Monitoring
// Events For 6th And 7th Generation Processors.
// The entries here are sorted by their general order of appearance in the
// manual.
#ifndef DEF_SKL_CATEGORY
#error "DEF_SKL_CATEGORY not defined"
#endif
// Arguments:
// - symbol (must be unique among all categories)
// - name (must be unique among all non-model-specific categories,
// models can have use the same categories,
// cannot have any spaces: used in trace category name)
// - varargs list of register names (from event .inc files)
DEF_SKL_CATEGORY(SKL_CATEGORY_DTLB_LOAD, "dtlb_load",
SKL_DTLB_LOAD_MISSES_MISS_CAUSES_A_WALK,
SKL_DTLB_LOAD_MISSES_WALK_COMPLETED,
SKL_DTLB_LOAD_MISSES_WALK_ACTIVE,
SKL_DTLB_LOAD_MISSES_STLB_HIT)
DEF_SKL_CATEGORY(SKL_CATEGORY_L2_DATA, "l2_data",
SKL_L2_RQSTS_DEMAND_DATA_RD_MISS,
SKL_L2_RQSTS_DEMAND_DATA_RD_HIT,
SKL_L2_RQSTS_ALL_DEMAND_DATA_RD)
DEF_SKL_CATEGORY(SKL_CATEGORY_L2_CODE, "l2_code",
SKL_L2_RQSTS_CODE_RD_MISS,
SKL_L2_RQSTS_CODE_RD_HIT,
SKL_L2_RQSTS_ALL_CODE_RD)
DEF_SKL_CATEGORY(SKL_CATEGORY_L2_RFO, "l2_rfo",
SKL_L2_RQSTS_RFO_MISS,
SKL_L2_RQSTS_RFO_HIT,
SKL_L2_RQSTS_ALL_RFO)
DEF_SKL_CATEGORY(SKL_CATEGORY_L2_ALL, "l2_summary",
SKL_L2_RQSTS_ALL_DEMAND_MISS,
SKL_L2_RQSTS_MISS,
SKL_L2_RQSTS_ALL_DEMAND_REFERENCES,
SKL_L2_RQSTS_REFERENCES)
DEF_SKL_CATEGORY(SKL_CATEGORY_PREFETCH_SUMMARY, "prefetch_summary",
SKL_L2_RQSTS_PF_MISS,
SKL_L2_RQSTS_PF_HIT,
SKL_L2_RQSTS_ALL_PF)
DEF_SKL_CATEGORY(SKL_CATEGORY_L3_SUMMARY, "l3_summary",
SKL_LONGEST_LAT_CACHE_REFERENCE,
SKL_LONGEST_LAT_CACHE_MISS)
DEF_SKL_CATEGORY(SKL_CATEGORY_L1_SUMMARY, "l1_summary",
SKL_L1D_PEND_MISS_PENDING_CYCLES,
SKL_L1D_PEND_MISS_PENDING_CYCLES_ANY,
SKL_L1D_REPLACEMENT)
DEF_SKL_CATEGORY(SKL_CATEGORY_DTLB_STORE, "dtlb_store",
SKL_DTLB_STORE_MISSES_MISS_CAUSES_A_WALK,
SKL_DTLB_STORE_MISSES_WALK_COMPLETED,
SKL_DTLB_STORE_MISSES_WALK_ACTIVE,
SKL_DTLB_STORE_MISSES_STLB_HIT)
DEF_SKL_CATEGORY(SKL_CATEGORY_OFFCORE_DEMAND_DATA, "offcore_demand_data",
SKL_OFFCORE_REQUESTS_OUTSTANDING_DEMAND_DATA_RD,
SKL_OFFCORE_REQUESTS_OUTSTANDING_CYCLES_WITH_DEMAND_DATA_RD,
SKL_OFFCORE_REQUESTS_OUTSTANDING_CYCLES_WITH_DEMAND_DATA_RD_GE_6)
DEF_SKL_CATEGORY(SKL_CATEGORY_OFFCORE_CODE, "offcore_demand_code",
SKL_OFFCORE_REQUESTS_OUTSTANDING_DEMAND_CODE_RD,
SKL_OFFCORE_REQUESTS_OUTSTANDING_CYCLES_WITH_DEMAND_CODE_RD)
DEF_SKL_CATEGORY(SKL_CATEGORY_OFFCORE_RFO, "offcore_demand_rfo",
SKL_OFFCORE_REQUESTS_OUTSTANDING_DEMAND_RFO,
SKL_OFFCORE_REQUESTS_OUTSTANDING_CYCLES_WITH_DEMAND_RFO)
DEF_SKL_CATEGORY(SKL_CATEGORY_OFFCORE_DATA, "offcore_data",
SKL_OFFCORE_REQUESTS_OUTSTANDING_DATA_RD,
SKL_OFFCORE_REQUESTS_OUTSTANDING_CYCLES_WITH_DATA_RD)
DEF_SKL_CATEGORY(SKL_CATEGORY_OFFCORE_L3_MISS, "offcore_l3_miss",
SKL_OFFCORE_REQUESTS_OUTSTANDING_L3_MISS_DEMAND_DATA_RD,
SKL_OFFCORE_REQUESTS_OUTSTANDING_CYCLES_WITH_L3_MISS_DEMAND_DATA_RD,
SKL_OFFCORE_REQUESTS_OUTSTANDING_CYCLES_WITH_L3_MISS_DEMAND_DATA_RD_GE_6)
DEF_SKL_CATEGORY(SKL_CATEGORY_ICACHE, "icache",
SKL_ICACHE_64B_IFDATA_STALL,
SKL_ICACHE_64B_IFTAG_HIT,
SKL_ICACHE_64B_IFTAG_MISS)
DEF_SKL_CATEGORY(SKL_CATEGORY_ITLB, "itlb",
SKL_ITLB_MISSES_MISS_CAUSES_A_WALK,
SKL_ITLB_MISSES_WALK_COMPLETED,
SKL_ITLB_MISSES_WALK_PENDING,
SKL_ITLB_MISSES_STLB_HIT)
DEF_SKL_CATEGORY(SKL_CATEGORY_STALL_SUMMARY, "stall_summary",
SKL_RESOURCE_STALLS_ANY,
SKL_RESOURCE_STALLS_SB)
DEF_SKL_CATEGORY(SKL_CATEGORY_L1_CYCLES, "l1_miss_cycles",
SKL_CYCLE_ACTIVITY_CYCLES_L1D_MISS,
SKL_CYCLE_ACTIVITY_STALLS_L1D_MISS)
DEF_SKL_CATEGORY(SKL_CATEGORY_L2_CYCLES, "l2_miss_cycles",
SKL_CYCLE_ACTIVITY_CYCLES_L2_MISS,
SKL_CYCLE_ACTIVITY_STALLS_L2_MISS)
DEF_SKL_CATEGORY(SKL_CATEGORY_L3_CYCLES, "l3_miss_cycles",
SKL_CYCLE_ACTIVITY_CYCLES_L3_MISS,
SKL_CYCLE_ACTIVITY_STALLS_L3_MISS)
DEF_SKL_CATEGORY(SKL_CATEGORY_MEM_CYCLES, "mem_cycles",
SKL_CYCLE_ACTIVITY_CYCLES_MEM_ANY,
SKL_CYCLE_ACTIVITY_STALLS_MEM_ANY)
DEF_SKL_CATEGORY(SKL_CATEGORY_OFFCORE_REQUESTS, "offcore_requests",
SKL_OFFCORE_REQUESTS_DEMAND_DATA_RD,
SKL_OFFCORE_REQUESTS_DEMAND_CODE_RD,
SKL_OFFCORE_REQUESTS_DEMAND_RFO,
SKL_OFFCORE_REQUESTS_ALL_DATA_RD)
DEF_SKL_CATEGORY(SKL_CATEGORY_OFFCORE_MISC, "offcore_misc",
SKL_OFFCORE_REQUESTS_L3_MISS_DEMAND_DATA_RD,
SKL_OFFCORE_REQUESTS_ALL_REQUESTS,
SKL_OFFCORE_REQUEST_BUFFER_SQ_FULL)
DEF_SKL_CATEGORY(SKL_CATEGORY_BR_MISP, "br_misp",
SKL_BR_MISP_RETIRED_ALL_BRANCHES,
SKL_BR_MISP_RETIRED_CONDITIONAL,
SKL_BR_MISP_RETIRED_MACRO,
SKL_BR_MISP_RETIRED_NEAR_TAKEN)
DEF_SKL_CATEGORY(SKL_CATEGORY_HW_INTERRUPTS, "hw_interrupts",
SKL_HW_INTERRUPTS_RECEIVED)
DEF_SKL_CATEGORY(SKL_CATEGORY_MEM_RETIRED, "mem_retired_summary",
SKL_MEM_INST_RETIRED_LOCKED_LOADS,
SKL_MEM_INST_RETIRED_ALL_LOADS,
SKL_MEM_INST_RETIRED_ALL_STORES)
DEF_SKL_CATEGORY(SKL_CATEGORY_MEM_RETIRED_HIT, "mem_retired_hit",
SKL_MEM_LOAD_RETIRED_L1_HIT,
SKL_MEM_LOAD_RETIRED_L2_HIT,
SKL_MEM_LOAD_RETIRED_L3_HIT)
DEF_SKL_CATEGORY(SKL_CATEGORY_MEM_RETIRED_MISS, "mem_retired_miss",
SKL_MEM_LOAD_RETIRED_L1_MISS,
SKL_MEM_LOAD_RETIRED_L2_MISS,
SKL_MEM_LOAD_RETIRED_L3_MISS)
DEF_SKL_CATEGORY(SKL_CATEGORY_L3_HIT_RETIRED_XSNP, "l3_hit_retired_xsnp",
SKL_MEM_LOAD_L3_HIT_RETIRED_XSNP_MISS,
SKL_MEM_LOAD_L3_HIT_RETIRED_XSNP_HIT,
SKL_MEM_LOAD_L3_HIT_RETIRED_XSNP_HITM,
SKL_MEM_LOAD_L3_HIT_RETIRED_XSNP_NONE)
DEF_SKL_CATEGORY(SKL_CATEGORY_L2_LINES, "l2_lines",
SKL_L2_TRANS_L2_WB,
SKL_L2_LINES_IN_ALL)
#undef DEF_SKL_CATEGORY