| // 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 |