12bb3fbadSZhengjun Xing[ 22bb3fbadSZhengjun Xing { 3fa607370SIan Rogers "BriefDescription": "C10 residency percent per package", 4fa607370SIan Rogers "MetricExpr": "cstate_pkg@c10\\-residency@ / TSC", 5fa607370SIan Rogers "MetricGroup": "Power", 6fa607370SIan Rogers "MetricName": "C10_Pkg_Residency", 72bb3fbadSZhengjun Xing "ScaleUnit": "100%" 82bb3fbadSZhengjun Xing }, 92bb3fbadSZhengjun Xing { 102bb3fbadSZhengjun Xing "BriefDescription": "C1 residency percent per core", 112bb3fbadSZhengjun Xing "MetricExpr": "cstate_core@c1\\-residency@ / TSC", 122bb3fbadSZhengjun Xing "MetricGroup": "Power", 132bb3fbadSZhengjun Xing "MetricName": "C1_Core_Residency", 142bb3fbadSZhengjun Xing "ScaleUnit": "100%" 152bb3fbadSZhengjun Xing }, 162bb3fbadSZhengjun Xing { 172bb3fbadSZhengjun Xing "BriefDescription": "C2 residency percent per package", 182bb3fbadSZhengjun Xing "MetricExpr": "cstate_pkg@c2\\-residency@ / TSC", 192bb3fbadSZhengjun Xing "MetricGroup": "Power", 202bb3fbadSZhengjun Xing "MetricName": "C2_Pkg_Residency", 212bb3fbadSZhengjun Xing "ScaleUnit": "100%" 222bb3fbadSZhengjun Xing }, 232bb3fbadSZhengjun Xing { 242bb3fbadSZhengjun Xing "BriefDescription": "C3 residency percent per package", 252bb3fbadSZhengjun Xing "MetricExpr": "cstate_pkg@c3\\-residency@ / TSC", 262bb3fbadSZhengjun Xing "MetricGroup": "Power", 272bb3fbadSZhengjun Xing "MetricName": "C3_Pkg_Residency", 282bb3fbadSZhengjun Xing "ScaleUnit": "100%" 292bb3fbadSZhengjun Xing }, 302bb3fbadSZhengjun Xing { 31fa607370SIan Rogers "BriefDescription": "C6 residency percent per core", 32fa607370SIan Rogers "MetricExpr": "cstate_core@c6\\-residency@ / TSC", 33fa607370SIan Rogers "MetricGroup": "Power", 34fa607370SIan Rogers "MetricName": "C6_Core_Residency", 35fa607370SIan Rogers "ScaleUnit": "100%" 36fa607370SIan Rogers }, 37fa607370SIan Rogers { 382bb3fbadSZhengjun Xing "BriefDescription": "C6 residency percent per package", 392bb3fbadSZhengjun Xing "MetricExpr": "cstate_pkg@c6\\-residency@ / TSC", 402bb3fbadSZhengjun Xing "MetricGroup": "Power", 412bb3fbadSZhengjun Xing "MetricName": "C6_Pkg_Residency", 422bb3fbadSZhengjun Xing "ScaleUnit": "100%" 432bb3fbadSZhengjun Xing }, 442bb3fbadSZhengjun Xing { 45fa607370SIan Rogers "BriefDescription": "C7 residency percent per core", 46fa607370SIan Rogers "MetricExpr": "cstate_core@c7\\-residency@ / TSC", 47fa607370SIan Rogers "MetricGroup": "Power", 48fa607370SIan Rogers "MetricName": "C7_Core_Residency", 49fa607370SIan Rogers "ScaleUnit": "100%" 50fa607370SIan Rogers }, 51fa607370SIan Rogers { 522bb3fbadSZhengjun Xing "BriefDescription": "C8 residency percent per package", 532bb3fbadSZhengjun Xing "MetricExpr": "cstate_pkg@c8\\-residency@ / TSC", 542bb3fbadSZhengjun Xing "MetricGroup": "Power", 552bb3fbadSZhengjun Xing "MetricName": "C8_Pkg_Residency", 562bb3fbadSZhengjun Xing "ScaleUnit": "100%" 572bb3fbadSZhengjun Xing }, 582bb3fbadSZhengjun Xing { 59fa607370SIan Rogers "BriefDescription": "Percentage of cycles spent in System Management Interrupts.", 60fa607370SIan Rogers "MetricExpr": "((msr@aperf@ - cycles) / msr@aperf@ if msr@smi@ > 0 else 0)", 61fa607370SIan Rogers "MetricGroup": "smi", 62fa607370SIan Rogers "MetricName": "smi_cycles", 63fa607370SIan Rogers "MetricThreshold": "smi_cycles > 0.1", 64fa607370SIan Rogers "ScaleUnit": "100%" 65fa607370SIan Rogers }, 66fa607370SIan Rogers { 67fa607370SIan Rogers "BriefDescription": "Number of SMI interrupts.", 68fa607370SIan Rogers "MetricExpr": "msr@smi@", 69fa607370SIan Rogers "MetricGroup": "smi", 70fa607370SIan Rogers "MetricName": "smi_num", 71fa607370SIan Rogers "ScaleUnit": "1SMI#" 72fa607370SIan Rogers }, 73fa607370SIan Rogers { 7472da747dSIan Rogers "BriefDescription": "Counts the number of issue slots that were not consumed by the backend due to certain allocation restrictions", 7572da747dSIan Rogers "MetricExpr": "tma_core_bound", 7672da747dSIan Rogers "MetricGroup": "TopdownL3;tma_L3_group;tma_core_bound_group", 7772da747dSIan Rogers "MetricName": "tma_allocation_restriction", 78*4ab1fef5SIan Rogers "MetricThreshold": "tma_allocation_restriction > 0.1 & (tma_core_bound > 0.1 & tma_backend_bound > 0.1)", 79fa607370SIan Rogers "ScaleUnit": "100%" 80fa607370SIan Rogers }, 81fa607370SIan Rogers { 82fa607370SIan Rogers "BriefDescription": "Counts the total number of issue slots that were not consumed by the backend due to backend stalls", 83969a4661SKan Liang "DefaultMetricgroupName": "TopdownL1", 8472da747dSIan Rogers "MetricExpr": "TOPDOWN_BE_BOUND.ALL / (5 * CPU_CLK_UNHALTED.CORE)", 85969a4661SKan Liang "MetricGroup": "Default;TopdownL1;tma_L1_group", 86fa607370SIan Rogers "MetricName": "tma_backend_bound", 87*4ab1fef5SIan Rogers "MetricThreshold": "tma_backend_bound > 0.1", 88969a4661SKan Liang "MetricgroupNoGroup": "TopdownL1;Default", 8972da747dSIan Rogers "PublicDescription": "Counts the total number of issue slots that were not consumed by the backend due to backend stalls. Note that uops must be available for consumption in order for this event to count. If a uop is not available (IQ is empty), this event will not count", 90fa607370SIan Rogers "ScaleUnit": "100%" 91fa607370SIan Rogers }, 92fa607370SIan Rogers { 93fa607370SIan Rogers "BriefDescription": "Counts the total number of issue slots that were not consumed by the backend because allocation is stalled due to a mispredicted jump or a machine clear", 94969a4661SKan Liang "DefaultMetricgroupName": "TopdownL1", 9572da747dSIan Rogers "MetricExpr": "(5 * CPU_CLK_UNHALTED.CORE - (TOPDOWN_FE_BOUND.ALL + TOPDOWN_BE_BOUND.ALL + TOPDOWN_RETIRING.ALL)) / (5 * CPU_CLK_UNHALTED.CORE)", 96969a4661SKan Liang "MetricGroup": "Default;TopdownL1;tma_L1_group", 97fa607370SIan Rogers "MetricName": "tma_bad_speculation", 98*4ab1fef5SIan Rogers "MetricThreshold": "tma_bad_speculation > 0.15", 99969a4661SKan Liang "MetricgroupNoGroup": "TopdownL1;Default", 100fa607370SIan Rogers "PublicDescription": "Counts the total number of issue slots that were not consumed by the backend because allocation is stalled due to a mispredicted jump or a machine clear. Only issue slots wasted due to fast nukes such as memory ordering nukes are counted. Other nukes are not accounted for. Counts all issue slots blocked during this recovery window including relevant microcode flows and while uops are not yet available in the instruction queue (IQ). Also includes the issue slots that were consumed by the backend but were thrown away because they were younger than the mispredict or machine clear.", 101fa607370SIan Rogers "ScaleUnit": "100%" 102fa607370SIan Rogers }, 103fa607370SIan Rogers { 104fa607370SIan Rogers "BriefDescription": "Counts the number of issue slots that were not delivered by the frontend due to BACLEARS, which occurs when the Branch Target Buffer (BTB) prediction or lack thereof, was corrected by a later branch predictor in the frontend", 10572da747dSIan Rogers "MetricExpr": "TOPDOWN_FE_BOUND.BRANCH_DETECT / (5 * CPU_CLK_UNHALTED.CORE)", 10672da747dSIan Rogers "MetricGroup": "TopdownL3;tma_L3_group;tma_ifetch_latency_group", 107fa607370SIan Rogers "MetricName": "tma_branch_detect", 108*4ab1fef5SIan Rogers "MetricThreshold": "tma_branch_detect > 0.05 & (tma_ifetch_latency > 0.15 & tma_frontend_bound > 0.2)", 109fa607370SIan Rogers "PublicDescription": "Counts the number of issue slots that were not delivered by the frontend due to BACLEARS, which occurs when the Branch Target Buffer (BTB) prediction or lack thereof, was corrected by a later branch predictor in the frontend. Includes BACLEARS due to all branch types including conditional and unconditional jumps, returns, and indirect branches.", 110fa607370SIan Rogers "ScaleUnit": "100%" 111fa607370SIan Rogers }, 112fa607370SIan Rogers { 11372da747dSIan Rogers "BriefDescription": "Counts the number of issue slots that were not consumed by the backend due to branch mispredicts", 11472da747dSIan Rogers "MetricExpr": "TOPDOWN_BAD_SPECULATION.MISPREDICT / (5 * CPU_CLK_UNHALTED.CORE)", 115fa607370SIan Rogers "MetricGroup": "TopdownL2;tma_L2_group;tma_bad_speculation_group", 116fa607370SIan Rogers "MetricName": "tma_branch_mispredicts", 117*4ab1fef5SIan Rogers "MetricThreshold": "tma_branch_mispredicts > 0.05 & tma_bad_speculation > 0.15", 118ccc66c60SIan Rogers "MetricgroupNoGroup": "TopdownL2", 119fa607370SIan Rogers "ScaleUnit": "100%" 120fa607370SIan Rogers }, 121fa607370SIan Rogers { 122fa607370SIan Rogers "BriefDescription": "Counts the number of issue slots that were not delivered by the frontend due to BTCLEARS, which occurs when the Branch Target Buffer (BTB) predicts a taken branch.", 12372da747dSIan Rogers "MetricExpr": "TOPDOWN_FE_BOUND.BRANCH_RESTEER / (5 * CPU_CLK_UNHALTED.CORE)", 12472da747dSIan Rogers "MetricGroup": "TopdownL3;tma_L3_group;tma_ifetch_latency_group", 125fa607370SIan Rogers "MetricName": "tma_branch_resteer", 126*4ab1fef5SIan Rogers "MetricThreshold": "tma_branch_resteer > 0.05 & (tma_ifetch_latency > 0.15 & tma_frontend_bound > 0.2)", 127fa607370SIan Rogers "ScaleUnit": "100%" 128fa607370SIan Rogers }, 129fa607370SIan Rogers { 130fa607370SIan Rogers "BriefDescription": "Counts the number of issue slots that were not delivered by the frontend due to the microcode sequencer (MS).", 13172da747dSIan Rogers "MetricExpr": "TOPDOWN_FE_BOUND.CISC / (5 * CPU_CLK_UNHALTED.CORE)", 13272da747dSIan Rogers "MetricGroup": "TopdownL3;tma_L3_group;tma_ifetch_bandwidth_group", 133fa607370SIan Rogers "MetricName": "tma_cisc", 134*4ab1fef5SIan Rogers "MetricThreshold": "tma_cisc > 0.05 & (tma_ifetch_bandwidth > 0.1 & tma_frontend_bound > 0.2)", 135fa607370SIan Rogers "ScaleUnit": "100%" 136fa607370SIan Rogers }, 137fa607370SIan Rogers { 13872da747dSIan Rogers "BriefDescription": "Counts the number of cycles due to backend bound stalls that are bounded by core restrictions and not attributed to an outstanding load or stores, or resource limitation", 13972da747dSIan Rogers "MetricExpr": "TOPDOWN_BE_BOUND.ALLOC_RESTRICTIONS / (5 * CPU_CLK_UNHALTED.CORE)", 140fa607370SIan Rogers "MetricGroup": "TopdownL2;tma_L2_group;tma_backend_bound_group", 141fa607370SIan Rogers "MetricName": "tma_core_bound", 142*4ab1fef5SIan Rogers "MetricThreshold": "tma_core_bound > 0.1 & tma_backend_bound > 0.1", 143ccc66c60SIan Rogers "MetricgroupNoGroup": "TopdownL2", 144fa607370SIan Rogers "ScaleUnit": "100%" 145fa607370SIan Rogers }, 146fa607370SIan Rogers { 147fa607370SIan Rogers "BriefDescription": "Counts the number of issue slots that were not delivered by the frontend due to decode stalls.", 14872da747dSIan Rogers "MetricExpr": "TOPDOWN_FE_BOUND.DECODE / (5 * CPU_CLK_UNHALTED.CORE)", 14972da747dSIan Rogers "MetricGroup": "TopdownL3;tma_L3_group;tma_ifetch_bandwidth_group", 150fa607370SIan Rogers "MetricName": "tma_decode", 151*4ab1fef5SIan Rogers "MetricThreshold": "tma_decode > 0.05 & (tma_ifetch_bandwidth > 0.1 & tma_frontend_bound > 0.2)", 152fa607370SIan Rogers "ScaleUnit": "100%" 153fa607370SIan Rogers }, 154fa607370SIan Rogers { 15572da747dSIan Rogers "BriefDescription": "Counts the number of issue slots that were not consumed by the backend due to a machine clear that does not require the use of microcode, classified as a fast nuke, due to memory ordering, memory disambiguation and memory renaming", 15672da747dSIan Rogers "MetricExpr": "TOPDOWN_BAD_SPECULATION.FASTNUKE / (5 * CPU_CLK_UNHALTED.CORE)", 157fa607370SIan Rogers "MetricGroup": "TopdownL3;tma_L3_group;tma_machine_clears_group", 158fa607370SIan Rogers "MetricName": "tma_fast_nuke", 159*4ab1fef5SIan Rogers "MetricThreshold": "tma_fast_nuke > 0.05 & (tma_machine_clears > 0.05 & tma_bad_speculation > 0.15)", 160fa607370SIan Rogers "ScaleUnit": "100%" 161fa607370SIan Rogers }, 162fa607370SIan Rogers { 163fa607370SIan Rogers "BriefDescription": "Counts the number of issue slots that were not consumed by the backend due to frontend stalls.", 164969a4661SKan Liang "DefaultMetricgroupName": "TopdownL1", 16572da747dSIan Rogers "MetricExpr": "TOPDOWN_FE_BOUND.ALL / (5 * CPU_CLK_UNHALTED.CORE)", 166969a4661SKan Liang "MetricGroup": "Default;TopdownL1;tma_L1_group", 167fa607370SIan Rogers "MetricName": "tma_frontend_bound", 168*4ab1fef5SIan Rogers "MetricThreshold": "tma_frontend_bound > 0.2", 169969a4661SKan Liang "MetricgroupNoGroup": "TopdownL1;Default", 170fa607370SIan Rogers "ScaleUnit": "100%" 171fa607370SIan Rogers }, 172fa607370SIan Rogers { 173fa607370SIan Rogers "BriefDescription": "Counts the number of issue slots that were not delivered by the frontend due to instruction cache misses.", 17472da747dSIan Rogers "MetricExpr": "TOPDOWN_FE_BOUND.ICACHE / (5 * CPU_CLK_UNHALTED.CORE)", 17572da747dSIan Rogers "MetricGroup": "TopdownL3;tma_L3_group;tma_ifetch_latency_group", 1760372358aSIan Rogers "MetricName": "tma_icache_misses", 177*4ab1fef5SIan Rogers "MetricThreshold": "tma_icache_misses > 0.05 & (tma_ifetch_latency > 0.15 & tma_frontend_bound > 0.2)", 178fa607370SIan Rogers "ScaleUnit": "100%" 179fa607370SIan Rogers }, 180fa607370SIan Rogers { 18172da747dSIan Rogers "BriefDescription": "Counts the number of issue slots that were not delivered by the frontend due to frontend bandwidth restrictions due to decode, predecode, cisc, and other limitations.", 18272da747dSIan Rogers "MetricExpr": "TOPDOWN_FE_BOUND.FRONTEND_BANDWIDTH / (5 * CPU_CLK_UNHALTED.CORE)", 18372da747dSIan Rogers "MetricGroup": "TopdownL2;tma_L2_group;tma_frontend_bound_group", 18472da747dSIan Rogers "MetricName": "tma_ifetch_bandwidth", 185*4ab1fef5SIan Rogers "MetricThreshold": "tma_ifetch_bandwidth > 0.1 & tma_frontend_bound > 0.2", 18672da747dSIan Rogers "MetricgroupNoGroup": "TopdownL2", 18772da747dSIan Rogers "ScaleUnit": "100%" 188fa607370SIan Rogers }, 189fa607370SIan Rogers { 19072da747dSIan Rogers "BriefDescription": "Counts the number of issue slots that were not delivered by the frontend due to frontend latency restrictions due to icache misses, itlb misses, branch detection, and resteer limitations.", 19172da747dSIan Rogers "MetricExpr": "TOPDOWN_FE_BOUND.FRONTEND_LATENCY / (5 * CPU_CLK_UNHALTED.CORE)", 19272da747dSIan Rogers "MetricGroup": "TopdownL2;tma_L2_group;tma_frontend_bound_group", 19372da747dSIan Rogers "MetricName": "tma_ifetch_latency", 194*4ab1fef5SIan Rogers "MetricThreshold": "tma_ifetch_latency > 0.15 & tma_frontend_bound > 0.2", 19572da747dSIan Rogers "MetricgroupNoGroup": "TopdownL2", 19672da747dSIan Rogers "ScaleUnit": "100%" 19772da747dSIan Rogers }, 19872da747dSIan Rogers { 19972da747dSIan Rogers "BriefDescription": "Percentage of time that retirement is stalled due to a first level data TLB miss", 20072da747dSIan Rogers "MetricExpr": "100 * (LD_HEAD.DTLB_MISS_AT_RET + LD_HEAD.PGWALK_AT_RET) / CPU_CLK_UNHALTED.CORE", 20172da747dSIan Rogers "MetricName": "tma_info_bottleneck_%_dtlb_miss_bound_cycles" 20272da747dSIan Rogers }, 20372da747dSIan Rogers { 20472da747dSIan Rogers "BriefDescription": "Percentage of time that allocation and retirement is stalled by the Frontend Cluster due to an Ifetch Miss, either Icache or ITLB Miss", 20572da747dSIan Rogers "MetricExpr": "100 * MEM_BOUND_STALLS.IFETCH / CPU_CLK_UNHALTED.CORE", 20672da747dSIan Rogers "MetricGroup": "Ifetch", 20772da747dSIan Rogers "MetricName": "tma_info_bottleneck_%_ifetch_miss_bound_cycles", 20872da747dSIan Rogers "PublicDescription": "Percentage of time that allocation and retirement is stalled by the Frontend Cluster due to an Ifetch Miss, either Icache or ITLB Miss. See Info.Ifetch_Bound" 20972da747dSIan Rogers }, 21072da747dSIan Rogers { 21172da747dSIan Rogers "BriefDescription": "Percentage of time that retirement is stalled due to an L1 miss", 21272da747dSIan Rogers "MetricExpr": "100 * MEM_BOUND_STALLS.LOAD / CPU_CLK_UNHALTED.CORE", 21372da747dSIan Rogers "MetricGroup": "Load_Store_Miss", 21472da747dSIan Rogers "MetricName": "tma_info_bottleneck_%_load_miss_bound_cycles", 21572da747dSIan Rogers "PublicDescription": "Percentage of time that retirement is stalled due to an L1 miss. See Info.Load_Miss_Bound" 21672da747dSIan Rogers }, 21772da747dSIan Rogers { 21872da747dSIan Rogers "BriefDescription": "Percentage of time that retirement is stalled by the Memory Cluster due to a pipeline stall", 21972da747dSIan Rogers "MetricExpr": "100 * LD_HEAD.ANY_AT_RET / CPU_CLK_UNHALTED.CORE", 22072da747dSIan Rogers "MetricGroup": "Mem_Exec", 22172da747dSIan Rogers "MetricName": "tma_info_bottleneck_%_mem_exec_bound_cycles", 22272da747dSIan Rogers "PublicDescription": "Percentage of time that retirement is stalled by the Memory Cluster due to a pipeline stall. See Info.Mem_Exec_Bound" 22372da747dSIan Rogers }, 22472da747dSIan Rogers { 22572da747dSIan Rogers "BriefDescription": "Instructions per Branch (lower number means higher occurrence rate)", 22672da747dSIan Rogers "MetricExpr": "INST_RETIRED.ANY / BR_INST_RETIRED.ALL_BRANCHES", 22772da747dSIan Rogers "MetricName": "tma_info_br_inst_mix_ipbranch" 22872da747dSIan Rogers }, 22972da747dSIan Rogers { 23072da747dSIan Rogers "BriefDescription": "Instruction per (near) call (lower number means higher occurrence rate)", 23172da747dSIan Rogers "MetricExpr": "INST_RETIRED.ANY / BR_INST_RETIRED.CALL", 23272da747dSIan Rogers "MetricName": "tma_info_br_inst_mix_ipcall" 23372da747dSIan Rogers }, 23472da747dSIan Rogers { 23572da747dSIan Rogers "BriefDescription": "Instructions per Far Branch ( Far Branches apply upon transition from application to operating system, handling interrupts, exceptions) [lower number means higher occurrence rate]", 23672da747dSIan Rogers "MetricExpr": "INST_RETIRED.ANY / BR_INST_RETIRED.FAR_BRANCH:u", 23772da747dSIan Rogers "MetricName": "tma_info_br_inst_mix_ipfarbranch" 23872da747dSIan Rogers }, 23972da747dSIan Rogers { 24072da747dSIan Rogers "BriefDescription": "Instructions per retired conditional Branch Misprediction where the branch was not taken", 24172da747dSIan Rogers "MetricExpr": "INST_RETIRED.ANY / (BR_MISP_RETIRED.COND - BR_MISP_RETIRED.COND_TAKEN)", 24272da747dSIan Rogers "MetricName": "tma_info_br_inst_mix_ipmisp_cond_ntaken" 24372da747dSIan Rogers }, 24472da747dSIan Rogers { 24572da747dSIan Rogers "BriefDescription": "Instructions per retired conditional Branch Misprediction where the branch was taken", 24672da747dSIan Rogers "MetricExpr": "INST_RETIRED.ANY / BR_MISP_RETIRED.COND_TAKEN", 24772da747dSIan Rogers "MetricName": "tma_info_br_inst_mix_ipmisp_cond_taken" 24872da747dSIan Rogers }, 24972da747dSIan Rogers { 25072da747dSIan Rogers "BriefDescription": "Instructions per retired indirect call or jump Branch Misprediction", 25172da747dSIan Rogers "MetricExpr": "INST_RETIRED.ANY / BR_MISP_RETIRED.INDIRECT", 25272da747dSIan Rogers "MetricName": "tma_info_br_inst_mix_ipmisp_indirect" 25372da747dSIan Rogers }, 25472da747dSIan Rogers { 25572da747dSIan Rogers "BriefDescription": "Instructions per retired return Branch Misprediction", 25672da747dSIan Rogers "MetricExpr": "INST_RETIRED.ANY / BR_MISP_RETIRED.RETURN", 25772da747dSIan Rogers "MetricName": "tma_info_br_inst_mix_ipmisp_ret" 25872da747dSIan Rogers }, 25972da747dSIan Rogers { 26072da747dSIan Rogers "BriefDescription": "Instructions per retired Branch Misprediction", 26172da747dSIan Rogers "MetricExpr": "INST_RETIRED.ANY / BR_MISP_RETIRED.ALL_BRANCHES", 26272da747dSIan Rogers "MetricName": "tma_info_br_inst_mix_ipmispredict" 26372da747dSIan Rogers }, 26472da747dSIan Rogers { 26572da747dSIan Rogers "BriefDescription": "Ratio of all branches which mispredict", 26672da747dSIan Rogers "MetricExpr": "BR_MISP_RETIRED.ALL_BRANCHES / BR_INST_RETIRED.ALL_BRANCHES", 26772da747dSIan Rogers "MetricName": "tma_info_br_mispredict_bound_branch_mispredict_ratio" 26872da747dSIan Rogers }, 26972da747dSIan Rogers { 27072da747dSIan Rogers "BriefDescription": "Ratio between Mispredicted branches and unknown branches", 27172da747dSIan Rogers "MetricExpr": "BR_MISP_RETIRED.ALL_BRANCHES / BACLEARS.ANY", 27272da747dSIan Rogers "MetricName": "tma_info_br_mispredict_bound_branch_mispredict_to_unknown_branch_ratio" 27372da747dSIan Rogers }, 27472da747dSIan Rogers { 27572da747dSIan Rogers "BriefDescription": "Percentage of time that allocation is stalled due to load buffer full", 27672da747dSIan Rogers "MetricExpr": "100 * MEM_SCHEDULER_BLOCK.LD_BUF / CPU_CLK_UNHALTED.CORE", 27772da747dSIan Rogers "MetricName": "tma_info_buffer_stalls_%_load_buffer_stall_cycles" 27872da747dSIan Rogers }, 27972da747dSIan Rogers { 28072da747dSIan Rogers "BriefDescription": "Percentage of time that allocation is stalled due to memory reservation stations full", 28172da747dSIan Rogers "MetricExpr": "100 * MEM_SCHEDULER_BLOCK.RSV / CPU_CLK_UNHALTED.CORE", 28272da747dSIan Rogers "MetricName": "tma_info_buffer_stalls_%_mem_rsv_stall_cycles" 28372da747dSIan Rogers }, 28472da747dSIan Rogers { 28572da747dSIan Rogers "BriefDescription": "Percentage of time that allocation is stalled due to store buffer full", 28672da747dSIan Rogers "MetricExpr": "100 * MEM_SCHEDULER_BLOCK.ST_BUF / CPU_CLK_UNHALTED.CORE", 28772da747dSIan Rogers "MetricName": "tma_info_buffer_stalls_%_store_buffer_stall_cycles" 288fa607370SIan Rogers }, 289fa607370SIan Rogers { 290fa607370SIan Rogers "BriefDescription": "Cycles Per Instruction", 29172da747dSIan Rogers "MetricExpr": "CPU_CLK_UNHALTED.CORE / INST_RETIRED.ANY", 292c04fcf7cSIan Rogers "MetricName": "tma_info_core_cpi" 293fa607370SIan Rogers }, 294fa607370SIan Rogers { 295fa607370SIan Rogers "BriefDescription": "Instructions Per Cycle", 29672da747dSIan Rogers "MetricExpr": "INST_RETIRED.ANY / CPU_CLK_UNHALTED.CORE", 297c04fcf7cSIan Rogers "MetricName": "tma_info_core_ipc" 298fa607370SIan Rogers }, 299fa607370SIan Rogers { 300fa607370SIan Rogers "BriefDescription": "Uops Per Instruction", 301fa607370SIan Rogers "MetricExpr": "UOPS_RETIRED.ALL / INST_RETIRED.ANY", 302c04fcf7cSIan Rogers "MetricName": "tma_info_core_upi" 303c04fcf7cSIan Rogers }, 304c04fcf7cSIan Rogers { 30572da747dSIan Rogers "BriefDescription": "Percentage of ifetch miss bound stalls, where the ifetch miss hits in the L2", 306c04fcf7cSIan Rogers "MetricExpr": "100 * MEM_BOUND_STALLS.IFETCH_L2_HIT / MEM_BOUND_STALLS.IFETCH", 30772da747dSIan Rogers "MetricName": "tma_info_ifetch_miss_bound_%_ifetchmissbound_with_l2hit" 308c04fcf7cSIan Rogers }, 309c04fcf7cSIan Rogers { 310b04fe42fSIan Rogers "BriefDescription": "Percentage of ifetch miss bound stalls, where the ifetch miss doesn't hit in the L2", 311b04fe42fSIan Rogers "MetricExpr": "100 * (MEM_BOUND_STALLS.IFETCH_LLC_HIT + MEM_BOUND_STALLS.IFETCH_DRAM_HIT) / MEM_BOUND_STALLS.IFETCH", 312b04fe42fSIan Rogers "MetricName": "tma_info_ifetch_miss_bound_%_ifetchmissbound_with_l2miss" 313b04fe42fSIan Rogers }, 314b04fe42fSIan Rogers { 31572da747dSIan Rogers "BriefDescription": "Percentage of ifetch miss bound stalls, where the ifetch miss hits in the L3", 316c04fcf7cSIan Rogers "MetricExpr": "100 * MEM_BOUND_STALLS.IFETCH_LLC_HIT / MEM_BOUND_STALLS.IFETCH", 31772da747dSIan Rogers "MetricName": "tma_info_ifetch_miss_bound_%_ifetchmissbound_with_l3hit" 318c04fcf7cSIan Rogers }, 319c04fcf7cSIan Rogers { 32072da747dSIan Rogers "BriefDescription": "Percentage of ifetch miss bound stalls, where the ifetch miss subsequently misses in the L3", 32172da747dSIan Rogers "MetricExpr": "100 * MEM_BOUND_STALLS.IFETCH_DRAM_HIT / MEM_BOUND_STALLS.IFETCH", 32272da747dSIan Rogers "MetricName": "tma_info_ifetch_miss_bound_%_ifetchmissbound_with_l3miss" 323c04fcf7cSIan Rogers }, 324c04fcf7cSIan Rogers { 32572da747dSIan Rogers "BriefDescription": "Percentage of memory bound stalls where retirement is stalled due to an L1 miss that hit the L2", 32672da747dSIan Rogers "MetricExpr": "100 * MEM_BOUND_STALLS.LOAD_L2_HIT / MEM_BOUND_STALLS.LOAD", 32772da747dSIan Rogers "MetricGroup": "load_store_bound", 32872da747dSIan Rogers "MetricName": "tma_info_load_miss_bound_%_loadmissbound_with_l2hit" 329c04fcf7cSIan Rogers }, 330c04fcf7cSIan Rogers { 331b04fe42fSIan Rogers "BriefDescription": "Percentage of memory bound stalls where retirement is stalled due to an L1 miss that subsequently misses in the L2", 332b04fe42fSIan Rogers "MetricExpr": "100 * (MEM_BOUND_STALLS.LOAD_LLC_HIT + MEM_BOUND_STALLS.LOAD_DRAM_HIT) / MEM_BOUND_STALLS.LOAD", 333b04fe42fSIan Rogers "MetricGroup": "load_store_bound", 334b04fe42fSIan Rogers "MetricName": "tma_info_load_miss_bound_%_loadmissbound_with_l2miss" 335b04fe42fSIan Rogers }, 336b04fe42fSIan Rogers { 33772da747dSIan Rogers "BriefDescription": "Percentage of memory bound stalls where retirement is stalled due to an L1 miss that hit the L3", 33872da747dSIan Rogers "MetricExpr": "100 * MEM_BOUND_STALLS.LOAD_LLC_HIT / MEM_BOUND_STALLS.LOAD", 33972da747dSIan Rogers "MetricGroup": "load_store_bound", 34072da747dSIan Rogers "MetricName": "tma_info_load_miss_bound_%_loadmissbound_with_l3hit" 341c04fcf7cSIan Rogers }, 342c04fcf7cSIan Rogers { 34372da747dSIan Rogers "BriefDescription": "Percentage of memory bound stalls where retirement is stalled due to an L1 miss that subsequently misses the L3", 34472da747dSIan Rogers "MetricExpr": "100 * MEM_BOUND_STALLS.LOAD_DRAM_HIT / MEM_BOUND_STALLS.LOAD", 34572da747dSIan Rogers "MetricGroup": "load_store_bound", 34672da747dSIan Rogers "MetricName": "tma_info_load_miss_bound_%_loadmissbound_with_l3miss" 347c04fcf7cSIan Rogers }, 348c04fcf7cSIan Rogers { 34972da747dSIan Rogers "BriefDescription": "Counts the number of cycles that the oldest load of the load buffer is stalled at retirement due to a pipeline block", 35072da747dSIan Rogers "MetricExpr": "100 * LD_HEAD.L1_BOUND_AT_RET / CPU_CLK_UNHALTED.CORE", 35172da747dSIan Rogers "MetricGroup": "load_store_bound", 35272da747dSIan Rogers "MetricName": "tma_info_load_store_bound_l1_bound" 353c04fcf7cSIan Rogers }, 354c04fcf7cSIan Rogers { 35572da747dSIan Rogers "BriefDescription": "Counts the number of cycles that the oldest load of the load buffer is stalled at retirement", 35672da747dSIan Rogers "MetricExpr": "100 * (LD_HEAD.L1_BOUND_AT_RET + MEM_BOUND_STALLS.LOAD) / CPU_CLK_UNHALTED.CORE", 35772da747dSIan Rogers "MetricGroup": "load_store_bound", 35872da747dSIan Rogers "MetricName": "tma_info_load_store_bound_load_bound" 359c04fcf7cSIan Rogers }, 360c04fcf7cSIan Rogers { 36172da747dSIan Rogers "BriefDescription": "Counts the number of cycles the core is stalled due to store buffer full", 36272da747dSIan Rogers "MetricExpr": "100 * (MEM_SCHEDULER_BLOCK.ST_BUF / MEM_SCHEDULER_BLOCK.ALL) * tma_mem_scheduler", 36372da747dSIan Rogers "MetricGroup": "load_store_bound", 36472da747dSIan Rogers "MetricName": "tma_info_load_store_bound_store_bound" 365c04fcf7cSIan Rogers }, 366c04fcf7cSIan Rogers { 36772da747dSIan Rogers "BriefDescription": "Counts the number of machine clears relative to thousands of instructions retired, due to memory disambiguation", 36872da747dSIan Rogers "MetricExpr": "1e3 * MACHINE_CLEARS.DISAMBIGUATION / INST_RETIRED.ANY", 36972da747dSIan Rogers "MetricName": "tma_info_machine_clear_bound_machine_clears_disamb_pki" 370c04fcf7cSIan Rogers }, 371c04fcf7cSIan Rogers { 37272da747dSIan Rogers "BriefDescription": "Counts the number of machine clears relative to thousands of instructions retired, due to floating point assists", 37372da747dSIan Rogers "MetricExpr": "1e3 * MACHINE_CLEARS.FP_ASSIST / INST_RETIRED.ANY", 37472da747dSIan Rogers "MetricName": "tma_info_machine_clear_bound_machine_clears_fp_assist_pki" 375c04fcf7cSIan Rogers }, 376c04fcf7cSIan Rogers { 37772da747dSIan Rogers "BriefDescription": "Counts the number of machine clears relative to thousands of instructions retired, due to memory ordering", 37872da747dSIan Rogers "MetricExpr": "1e3 * MACHINE_CLEARS.MEMORY_ORDERING / INST_RETIRED.ANY", 37972da747dSIan Rogers "MetricName": "tma_info_machine_clear_bound_machine_clears_monuke_pki" 380c04fcf7cSIan Rogers }, 381c04fcf7cSIan Rogers { 38272da747dSIan Rogers "BriefDescription": "Counts the number of machine clears relative to thousands of instructions retired, due to memory renaming", 38372da747dSIan Rogers "MetricExpr": "1e3 * MACHINE_CLEARS.MRN_NUKE / INST_RETIRED.ANY", 38472da747dSIan Rogers "MetricName": "tma_info_machine_clear_bound_machine_clears_mrn_pki" 385c04fcf7cSIan Rogers }, 386c04fcf7cSIan Rogers { 38772da747dSIan Rogers "BriefDescription": "Counts the number of machine clears relative to thousands of instructions retired, due to page faults", 38872da747dSIan Rogers "MetricExpr": "1e3 * MACHINE_CLEARS.PAGE_FAULT / INST_RETIRED.ANY", 38972da747dSIan Rogers "MetricName": "tma_info_machine_clear_bound_machine_clears_page_fault_pki" 390c04fcf7cSIan Rogers }, 391c04fcf7cSIan Rogers { 39272da747dSIan Rogers "BriefDescription": "Counts the number of machine clears relative to thousands of instructions retired, due to self-modifying code", 39372da747dSIan Rogers "MetricExpr": "1e3 * MACHINE_CLEARS.SMC / INST_RETIRED.ANY", 39472da747dSIan Rogers "MetricName": "tma_info_machine_clear_bound_machine_clears_smc_pki" 395c04fcf7cSIan Rogers }, 396c04fcf7cSIan Rogers { 39772da747dSIan Rogers "BriefDescription": "Percentage of total non-speculative loads with an address aliasing block", 398c04fcf7cSIan Rogers "MetricExpr": "100 * LD_BLOCKS.4K_ALIAS / MEM_UOPS_RETIRED.ALL_LOADS", 39972da747dSIan Rogers "MetricName": "tma_info_mem_exec_blocks_%_loads_with_adressaliasing" 400c04fcf7cSIan Rogers }, 401c04fcf7cSIan Rogers { 402c04fcf7cSIan Rogers "BriefDescription": "Percentage of total non-speculative loads with a store forward or unknown store address block", 403c04fcf7cSIan Rogers "MetricExpr": "100 * LD_BLOCKS.DATA_UNKNOWN / MEM_UOPS_RETIRED.ALL_LOADS", 40472da747dSIan Rogers "MetricName": "tma_info_mem_exec_blocks_%_loads_with_storefwdblk" 405c04fcf7cSIan Rogers }, 406c04fcf7cSIan Rogers { 40772da747dSIan Rogers "BriefDescription": "Percentage of Memory Execution Bound due to a first level data cache miss", 40872da747dSIan Rogers "MetricExpr": "100 * LD_HEAD.L1_MISS_AT_RET / LD_HEAD.ANY_AT_RET", 40972da747dSIan Rogers "MetricName": "tma_info_mem_exec_bound_%_loadhead_with_l1miss" 410c04fcf7cSIan Rogers }, 411c04fcf7cSIan Rogers { 41272da747dSIan Rogers "BriefDescription": "Percentage of Memory Execution Bound due to other block cases, such as pipeline conflicts, fences, etc", 41372da747dSIan Rogers "MetricExpr": "100 * LD_HEAD.OTHER_AT_RET / LD_HEAD.ANY_AT_RET", 41472da747dSIan Rogers "MetricName": "tma_info_mem_exec_bound_%_loadhead_with_otherpipelineblks" 415c04fcf7cSIan Rogers }, 416c04fcf7cSIan Rogers { 41772da747dSIan Rogers "BriefDescription": "Percentage of Memory Execution Bound due to a pagewalk", 41872da747dSIan Rogers "MetricExpr": "100 * LD_HEAD.PGWALK_AT_RET / LD_HEAD.ANY_AT_RET", 41972da747dSIan Rogers "MetricName": "tma_info_mem_exec_bound_%_loadhead_with_pagewalk" 420c04fcf7cSIan Rogers }, 421c04fcf7cSIan Rogers { 42272da747dSIan Rogers "BriefDescription": "Percentage of Memory Execution Bound due to a second level TLB miss", 42372da747dSIan Rogers "MetricExpr": "100 * LD_HEAD.DTLB_MISS_AT_RET / LD_HEAD.ANY_AT_RET", 42472da747dSIan Rogers "MetricName": "tma_info_mem_exec_bound_%_loadhead_with_stlbhit" 42572da747dSIan Rogers }, 42672da747dSIan Rogers { 42772da747dSIan Rogers "BriefDescription": "Percentage of Memory Execution Bound due to a store forward address match", 42872da747dSIan Rogers "MetricExpr": "100 * LD_HEAD.ST_ADDR_AT_RET / LD_HEAD.ANY_AT_RET", 42972da747dSIan Rogers "MetricName": "tma_info_mem_exec_bound_%_loadhead_with_storefwding" 43072da747dSIan Rogers }, 43172da747dSIan Rogers { 43272da747dSIan Rogers "BriefDescription": "Instructions per Load", 43372da747dSIan Rogers "MetricExpr": "INST_RETIRED.ANY / MEM_UOPS_RETIRED.ALL_LOADS", 43472da747dSIan Rogers "MetricName": "tma_info_mem_mix_ipload" 43572da747dSIan Rogers }, 43672da747dSIan Rogers { 43772da747dSIan Rogers "BriefDescription": "Instructions per Store", 43872da747dSIan Rogers "MetricExpr": "INST_RETIRED.ANY / MEM_UOPS_RETIRED.ALL_STORES", 43972da747dSIan Rogers "MetricName": "tma_info_mem_mix_ipstore" 44072da747dSIan Rogers }, 44172da747dSIan Rogers { 44272da747dSIan Rogers "BriefDescription": "Percentage of total non-speculative loads that perform one or more locks", 44372da747dSIan Rogers "MetricExpr": "100 * MEM_UOPS_RETIRED.LOCK_LOADS / MEM_UOPS_RETIRED.ALL_LOADS", 44472da747dSIan Rogers "MetricName": "tma_info_mem_mix_load_locks_ratio" 44572da747dSIan Rogers }, 44672da747dSIan Rogers { 44772da747dSIan Rogers "BriefDescription": "Percentage of total non-speculative loads that are splits", 44872da747dSIan Rogers "MetricExpr": "100 * MEM_UOPS_RETIRED.SPLIT_LOADS / MEM_UOPS_RETIRED.ALL_LOADS", 44972da747dSIan Rogers "MetricName": "tma_info_mem_mix_load_splits_ratio" 45072da747dSIan Rogers }, 45172da747dSIan Rogers { 45272da747dSIan Rogers "BriefDescription": "Ratio of mem load uops to all uops", 45372da747dSIan Rogers "MetricExpr": "1e3 * MEM_UOPS_RETIRED.ALL_LOADS / UOPS_RETIRED.ALL", 45472da747dSIan Rogers "MetricName": "tma_info_mem_mix_memload_ratio" 45572da747dSIan Rogers }, 45672da747dSIan Rogers { 45772da747dSIan Rogers "BriefDescription": "Percentage of time that the core is stalled due to a TPAUSE or UMWAIT instruction", 45872da747dSIan Rogers "MetricExpr": "100 * SERIALIZATION.C01_MS_SCB / (5 * CPU_CLK_UNHALTED.CORE)", 45972da747dSIan Rogers "MetricName": "tma_info_serialization_%_tpause_cycles" 460c04fcf7cSIan Rogers }, 461c04fcf7cSIan Rogers { 462c04fcf7cSIan Rogers "BriefDescription": "Average CPU Utilization", 463c04fcf7cSIan Rogers "MetricExpr": "CPU_CLK_UNHALTED.REF_TSC / TSC", 464c04fcf7cSIan Rogers "MetricName": "tma_info_system_cpu_utilization" 465c04fcf7cSIan Rogers }, 466c04fcf7cSIan Rogers { 467c04fcf7cSIan Rogers "BriefDescription": "Fraction of cycles spent in Kernel mode", 46872da747dSIan Rogers "MetricExpr": "cpu@CPU_CLK_UNHALTED.CORE_P@k / CPU_CLK_UNHALTED.CORE", 469c04fcf7cSIan Rogers "MetricGroup": "Summary", 470c04fcf7cSIan Rogers "MetricName": "tma_info_system_kernel_utilization" 471c04fcf7cSIan Rogers }, 472c04fcf7cSIan Rogers { 473b04fe42fSIan Rogers "BriefDescription": "PerfMon Event Multiplexing accuracy indicator", 474b04fe42fSIan Rogers "MetricExpr": "CPU_CLK_UNHALTED.CORE_P / CPU_CLK_UNHALTED.CORE", 475b04fe42fSIan Rogers "MetricName": "tma_info_system_mux", 476*4ab1fef5SIan Rogers "MetricThreshold": "tma_info_system_mux > 1.1 | tma_info_system_mux < 0.9" 477b04fe42fSIan Rogers }, 478b04fe42fSIan Rogers { 479c04fcf7cSIan Rogers "BriefDescription": "Average Frequency Utilization relative nominal frequency", 48072da747dSIan Rogers "MetricExpr": "CPU_CLK_UNHALTED.CORE / CPU_CLK_UNHALTED.REF_TSC", 481c04fcf7cSIan Rogers "MetricGroup": "Power", 482c04fcf7cSIan Rogers "MetricName": "tma_info_system_turbo_utilization" 483fa607370SIan Rogers }, 484fa607370SIan Rogers { 48572da747dSIan Rogers "BriefDescription": "Percentage of all uops which are FPDiv uops", 48672da747dSIan Rogers "MetricExpr": "100 * UOPS_RETIRED.FPDIV / UOPS_RETIRED.ALL", 48772da747dSIan Rogers "MetricName": "tma_info_uop_mix_fpdiv_uop_ratio" 48872da747dSIan Rogers }, 48972da747dSIan Rogers { 49072da747dSIan Rogers "BriefDescription": "Percentage of all uops which are IDiv uops", 49172da747dSIan Rogers "MetricExpr": "100 * UOPS_RETIRED.IDIV / UOPS_RETIRED.ALL", 49272da747dSIan Rogers "MetricName": "tma_info_uop_mix_idiv_uop_ratio" 49372da747dSIan Rogers }, 49472da747dSIan Rogers { 49572da747dSIan Rogers "BriefDescription": "Percentage of all uops which are microcode ops", 49672da747dSIan Rogers "MetricExpr": "100 * UOPS_RETIRED.MS / UOPS_RETIRED.ALL", 49772da747dSIan Rogers "MetricName": "tma_info_uop_mix_microcode_uop_ratio" 49872da747dSIan Rogers }, 49972da747dSIan Rogers { 50072da747dSIan Rogers "BriefDescription": "Percentage of all uops which are x87 uops", 50172da747dSIan Rogers "MetricExpr": "100 * UOPS_RETIRED.X87 / UOPS_RETIRED.ALL", 50272da747dSIan Rogers "MetricName": "tma_info_uop_mix_x87_uop_ratio" 50372da747dSIan Rogers }, 50472da747dSIan Rogers { 505fa607370SIan Rogers "BriefDescription": "Counts the number of issue slots that were not delivered by the frontend due to Instruction Table Lookaside Buffer (ITLB) misses.", 50672da747dSIan Rogers "MetricExpr": "TOPDOWN_FE_BOUND.ITLB / (5 * CPU_CLK_UNHALTED.CORE)", 50772da747dSIan Rogers "MetricGroup": "TopdownL3;tma_L3_group;tma_ifetch_latency_group", 5080372358aSIan Rogers "MetricName": "tma_itlb_misses", 509*4ab1fef5SIan Rogers "MetricThreshold": "tma_itlb_misses > 0.05 & (tma_ifetch_latency > 0.15 & tma_frontend_bound > 0.2)", 510fa607370SIan Rogers "ScaleUnit": "100%" 511fa607370SIan Rogers }, 512fa607370SIan Rogers { 51372da747dSIan Rogers "BriefDescription": "Counts the total number of issue slots that were not consumed by the backend because allocation is stalled due to a machine clear (nuke) of any kind including memory ordering and memory disambiguation", 51472da747dSIan Rogers "MetricExpr": "TOPDOWN_BAD_SPECULATION.MACHINE_CLEARS / (5 * CPU_CLK_UNHALTED.CORE)", 515fa607370SIan Rogers "MetricGroup": "TopdownL2;tma_L2_group;tma_bad_speculation_group", 516fa607370SIan Rogers "MetricName": "tma_machine_clears", 517*4ab1fef5SIan Rogers "MetricThreshold": "tma_machine_clears > 0.05 & tma_bad_speculation > 0.15", 518ccc66c60SIan Rogers "MetricgroupNoGroup": "TopdownL2", 519fa607370SIan Rogers "ScaleUnit": "100%" 520fa607370SIan Rogers }, 521fa607370SIan Rogers { 52272da747dSIan Rogers "BriefDescription": "Counts the number of issue slots that were not consumed by the backend due to memory reservation stalls in which a scheduler is not able to accept uops", 52372da747dSIan Rogers "MetricExpr": "TOPDOWN_BE_BOUND.MEM_SCHEDULER / (5 * CPU_CLK_UNHALTED.CORE)", 524fa607370SIan Rogers "MetricGroup": "TopdownL3;tma_L3_group;tma_resource_bound_group", 525fa607370SIan Rogers "MetricName": "tma_mem_scheduler", 526*4ab1fef5SIan Rogers "MetricThreshold": "tma_mem_scheduler > 0.1 & (tma_resource_bound > 0.2 & tma_backend_bound > 0.1)", 527fa607370SIan Rogers "ScaleUnit": "100%" 528fa607370SIan Rogers }, 529fa607370SIan Rogers { 53072da747dSIan Rogers "BriefDescription": "Counts the number of issue slots that were not consumed by the backend due to IEC or FPC RAT stalls, which can be due to FIQ or IEC reservation stalls in which the integer, floating point or SIMD scheduler is not able to accept uops", 53172da747dSIan Rogers "MetricExpr": "TOPDOWN_BE_BOUND.NON_MEM_SCHEDULER / (5 * CPU_CLK_UNHALTED.CORE)", 532fa607370SIan Rogers "MetricGroup": "TopdownL3;tma_L3_group;tma_resource_bound_group", 533fa607370SIan Rogers "MetricName": "tma_non_mem_scheduler", 534*4ab1fef5SIan Rogers "MetricThreshold": "tma_non_mem_scheduler > 0.1 & (tma_resource_bound > 0.2 & tma_backend_bound > 0.1)", 535fa607370SIan Rogers "ScaleUnit": "100%" 536fa607370SIan Rogers }, 537fa607370SIan Rogers { 53872da747dSIan Rogers "BriefDescription": "Counts the number of issue slots that were not consumed by the backend due to a machine clear that requires the use of microcode (slow nuke)", 53972da747dSIan Rogers "MetricExpr": "TOPDOWN_BAD_SPECULATION.NUKE / (5 * CPU_CLK_UNHALTED.CORE)", 540fa607370SIan Rogers "MetricGroup": "TopdownL3;tma_L3_group;tma_machine_clears_group", 541fa607370SIan Rogers "MetricName": "tma_nuke", 542*4ab1fef5SIan Rogers "MetricThreshold": "tma_nuke > 0.05 & (tma_machine_clears > 0.05 & tma_bad_speculation > 0.15)", 543fa607370SIan Rogers "ScaleUnit": "100%" 544fa607370SIan Rogers }, 545fa607370SIan Rogers { 546fa607370SIan Rogers "BriefDescription": "Counts the number of issue slots that were not delivered by the frontend due to other common frontend stalls not categorized.", 54772da747dSIan Rogers "MetricExpr": "TOPDOWN_FE_BOUND.OTHER / (5 * CPU_CLK_UNHALTED.CORE)", 54872da747dSIan Rogers "MetricGroup": "TopdownL3;tma_L3_group;tma_ifetch_bandwidth_group", 549fa607370SIan Rogers "MetricName": "tma_other_fb", 550*4ab1fef5SIan Rogers "MetricThreshold": "tma_other_fb > 0.05 & (tma_ifetch_bandwidth > 0.1 & tma_frontend_bound > 0.2)", 551fa607370SIan Rogers "ScaleUnit": "100%" 552fa607370SIan Rogers }, 553fa607370SIan Rogers { 554fa607370SIan Rogers "BriefDescription": "Counts the number of issue slots that were not delivered by the frontend due to wrong predecodes.", 55572da747dSIan Rogers "MetricExpr": "TOPDOWN_FE_BOUND.PREDECODE / (5 * CPU_CLK_UNHALTED.CORE)", 55672da747dSIan Rogers "MetricGroup": "TopdownL3;tma_L3_group;tma_ifetch_bandwidth_group", 557fa607370SIan Rogers "MetricName": "tma_predecode", 558*4ab1fef5SIan Rogers "MetricThreshold": "tma_predecode > 0.05 & (tma_ifetch_bandwidth > 0.1 & tma_frontend_bound > 0.2)", 559fa607370SIan Rogers "ScaleUnit": "100%" 560fa607370SIan Rogers }, 561fa607370SIan Rogers { 56272da747dSIan Rogers "BriefDescription": "Counts the number of issue slots that were not consumed by the backend due to the physical register file unable to accept an entry (marble stalls)", 56372da747dSIan Rogers "MetricExpr": "TOPDOWN_BE_BOUND.REGISTER / (5 * CPU_CLK_UNHALTED.CORE)", 564fa607370SIan Rogers "MetricGroup": "TopdownL3;tma_L3_group;tma_resource_bound_group", 565fa607370SIan Rogers "MetricName": "tma_register", 566*4ab1fef5SIan Rogers "MetricThreshold": "tma_register > 0.1 & (tma_resource_bound > 0.2 & tma_backend_bound > 0.1)", 567fa607370SIan Rogers "ScaleUnit": "100%" 568fa607370SIan Rogers }, 569fa607370SIan Rogers { 57072da747dSIan Rogers "BriefDescription": "Counts the number of issue slots that were not consumed by the backend due to the reorder buffer being full (ROB stalls)", 57172da747dSIan Rogers "MetricExpr": "TOPDOWN_BE_BOUND.REORDER_BUFFER / (5 * CPU_CLK_UNHALTED.CORE)", 572fa607370SIan Rogers "MetricGroup": "TopdownL3;tma_L3_group;tma_resource_bound_group", 573fa607370SIan Rogers "MetricName": "tma_reorder_buffer", 574*4ab1fef5SIan Rogers "MetricThreshold": "tma_reorder_buffer > 0.1 & (tma_resource_bound > 0.2 & tma_backend_bound > 0.1)", 575fa607370SIan Rogers "ScaleUnit": "100%" 576fa607370SIan Rogers }, 577fa607370SIan Rogers { 57872da747dSIan Rogers "BriefDescription": "Counts the number of cycles the core is stalled due to a resource limitation", 57972da747dSIan Rogers "MetricExpr": "tma_backend_bound - tma_core_bound", 58072da747dSIan Rogers "MetricGroup": "TopdownL2;tma_L2_group;tma_backend_bound_group", 581fa607370SIan Rogers "MetricName": "tma_resource_bound", 582*4ab1fef5SIan Rogers "MetricThreshold": "tma_resource_bound > 0.2 & tma_backend_bound > 0.1", 583ccc66c60SIan Rogers "MetricgroupNoGroup": "TopdownL2", 584fa607370SIan Rogers "ScaleUnit": "100%" 585fa607370SIan Rogers }, 586fa607370SIan Rogers { 58772da747dSIan Rogers "BriefDescription": "Counts the number of issue slots that result in retirement slots", 588969a4661SKan Liang "DefaultMetricgroupName": "TopdownL1", 58972da747dSIan Rogers "MetricExpr": "TOPDOWN_RETIRING.ALL / (5 * CPU_CLK_UNHALTED.CORE)", 590969a4661SKan Liang "MetricGroup": "Default;TopdownL1;tma_L1_group", 591fa607370SIan Rogers "MetricName": "tma_retiring", 592*4ab1fef5SIan Rogers "MetricThreshold": "tma_retiring > 0.75", 593969a4661SKan Liang "MetricgroupNoGroup": "TopdownL1;Default", 594fa607370SIan Rogers "ScaleUnit": "100%" 595fa607370SIan Rogers }, 596fa607370SIan Rogers { 59772da747dSIan Rogers "BriefDescription": "Counts the number of issue slots that were not consumed by the backend due to scoreboards from the instruction queue (IQ), jump execution unit (JEU), or microcode sequencer (MS)", 59872da747dSIan Rogers "MetricExpr": "TOPDOWN_BE_BOUND.SERIALIZATION / (5 * CPU_CLK_UNHALTED.CORE)", 599fa607370SIan Rogers "MetricGroup": "TopdownL3;tma_L3_group;tma_resource_bound_group", 600fa607370SIan Rogers "MetricName": "tma_serialization", 601*4ab1fef5SIan Rogers "MetricThreshold": "tma_serialization > 0.1 & (tma_resource_bound > 0.2 & tma_backend_bound > 0.1)", 6022bb3fbadSZhengjun Xing "ScaleUnit": "100%" 6032bb3fbadSZhengjun Xing } 6042bb3fbadSZhengjun Xing] 605