14b90798eSAndi Kleen[ 24b90798eSAndi Kleen { 3*e0f6eeefSIan Rogers "BriefDescription": "Counts the total number when the front end is resteered, mainly when the BPU cannot provide a correct prediction and this is corrected by other branch handling mechanisms at the front end.", 4*e0f6eeefSIan Rogers "EventCode": "0xE6", 5*e0f6eeefSIan Rogers "EventName": "BACLEARS.ANY", 6*e0f6eeefSIan Rogers "PublicDescription": "Number of front end re-steers due to BPU misprediction.", 7*e0f6eeefSIan Rogers "SampleAfterValue": "100003", 8*e0f6eeefSIan Rogers "UMask": "0x1f" 94b90798eSAndi Kleen }, 104b90798eSAndi Kleen { 11*e0f6eeefSIan Rogers "BriefDescription": "Decode Stream Buffer (DSB)-to-MITE switches", 12*e0f6eeefSIan Rogers "EventCode": "0xAB", 13*e0f6eeefSIan Rogers "EventName": "DSB2MITE_SWITCHES.COUNT", 14*e0f6eeefSIan Rogers "PublicDescription": "Number of DSB to MITE switches.", 154b90798eSAndi Kleen "SampleAfterValue": "2000003", 16*e0f6eeefSIan Rogers "UMask": "0x1" 174b90798eSAndi Kleen }, 184b90798eSAndi Kleen { 19*e0f6eeefSIan Rogers "BriefDescription": "Decode Stream Buffer (DSB)-to-MITE switch true penalty cycles", 20*e0f6eeefSIan Rogers "EventCode": "0xAB", 21*e0f6eeefSIan Rogers "EventName": "DSB2MITE_SWITCHES.PENALTY_CYCLES", 22*e0f6eeefSIan Rogers "PublicDescription": "Cycles DSB to MITE switches caused delay.", 234b90798eSAndi Kleen "SampleAfterValue": "2000003", 24*e0f6eeefSIan Rogers "UMask": "0x2" 254b90798eSAndi Kleen }, 264b90798eSAndi Kleen { 27*e0f6eeefSIan Rogers "BriefDescription": "Cycles when Decode Stream Buffer (DSB) fill encounter more than 3 Decode Stream Buffer (DSB) lines", 28*e0f6eeefSIan Rogers "EventCode": "0xAC", 29*e0f6eeefSIan Rogers "EventName": "DSB_FILL.EXCEED_DSB_LINES", 30*e0f6eeefSIan Rogers "PublicDescription": "DSB Fill encountered > 3 DSB lines.", 31c955cd2bSAndi Kleen "SampleAfterValue": "2000003", 32*e0f6eeefSIan Rogers "UMask": "0x8" 33c955cd2bSAndi Kleen }, 34c955cd2bSAndi Kleen { 354b90798eSAndi Kleen "BriefDescription": "Number of Instruction Cache, Streaming Buffer and Victim Cache Reads. both cacheable and noncacheable, including UC fetches", 364b90798eSAndi Kleen "EventCode": "0x80", 37*e0f6eeefSIan Rogers "EventName": "ICACHE.HIT", 38*e0f6eeefSIan Rogers "PublicDescription": "Number of Instruction Cache, Streaming Buffer and Victim Cache Reads. both cacheable and noncacheable, including UC fetches.", 394b90798eSAndi Kleen "SampleAfterValue": "2000003", 40*e0f6eeefSIan Rogers "UMask": "0x1" 41*e0f6eeefSIan Rogers }, 42*e0f6eeefSIan Rogers { 434b90798eSAndi Kleen "BriefDescription": "Cycles where a code-fetch stalled due to L1 instruction-cache miss or an iTLB miss", 44*e0f6eeefSIan Rogers "EventCode": "0x80", 45*e0f6eeefSIan Rogers "EventName": "ICACHE.IFETCH_STALL", 46*e0f6eeefSIan Rogers "PublicDescription": "Cycles where a code-fetch stalled due to L1 instruction-cache miss or an iTLB miss.", 474b90798eSAndi Kleen "SampleAfterValue": "2000003", 48*e0f6eeefSIan Rogers "UMask": "0x4" 494b90798eSAndi Kleen }, 504b90798eSAndi Kleen { 51*e0f6eeefSIan Rogers "BriefDescription": "Instruction cache, streaming buffer and victim cache misses", 52*e0f6eeefSIan Rogers "EventCode": "0x80", 53*e0f6eeefSIan Rogers "EventName": "ICACHE.MISSES", 54*e0f6eeefSIan Rogers "PublicDescription": "Number of Instruction Cache, Streaming Buffer and Victim Cache Misses. Includes UC accesses.", 55*e0f6eeefSIan Rogers "SampleAfterValue": "200003", 56*e0f6eeefSIan Rogers "UMask": "0x2" 57*e0f6eeefSIan Rogers }, 58*e0f6eeefSIan Rogers { 59*e0f6eeefSIan Rogers "BriefDescription": "Cycles Decode Stream Buffer (DSB) is delivering 4 Uops", 60*e0f6eeefSIan Rogers "CounterMask": "4", 61*e0f6eeefSIan Rogers "EventCode": "0x79", 62*e0f6eeefSIan Rogers "EventName": "IDQ.ALL_DSB_CYCLES_4_UOPS", 63*e0f6eeefSIan Rogers "PublicDescription": "Counts cycles DSB is delivered four uops. Set Cmask = 4.", 64*e0f6eeefSIan Rogers "SampleAfterValue": "2000003", 65*e0f6eeefSIan Rogers "UMask": "0x18" 66*e0f6eeefSIan Rogers }, 67*e0f6eeefSIan Rogers { 68*e0f6eeefSIan Rogers "BriefDescription": "Cycles Decode Stream Buffer (DSB) is delivering any Uop", 69*e0f6eeefSIan Rogers "CounterMask": "1", 70*e0f6eeefSIan Rogers "EventCode": "0x79", 71*e0f6eeefSIan Rogers "EventName": "IDQ.ALL_DSB_CYCLES_ANY_UOPS", 72*e0f6eeefSIan Rogers "PublicDescription": "Counts cycles DSB is delivered at least one uops. Set Cmask = 1.", 73*e0f6eeefSIan Rogers "SampleAfterValue": "2000003", 74*e0f6eeefSIan Rogers "UMask": "0x18" 75*e0f6eeefSIan Rogers }, 76*e0f6eeefSIan Rogers { 77*e0f6eeefSIan Rogers "BriefDescription": "Cycles MITE is delivering 4 Uops", 78*e0f6eeefSIan Rogers "CounterMask": "4", 79*e0f6eeefSIan Rogers "EventCode": "0x79", 80*e0f6eeefSIan Rogers "EventName": "IDQ.ALL_MITE_CYCLES_4_UOPS", 81*e0f6eeefSIan Rogers "PublicDescription": "Counts cycles MITE is delivered four uops. Set Cmask = 4.", 82*e0f6eeefSIan Rogers "SampleAfterValue": "2000003", 83*e0f6eeefSIan Rogers "UMask": "0x24" 84*e0f6eeefSIan Rogers }, 85*e0f6eeefSIan Rogers { 86*e0f6eeefSIan Rogers "BriefDescription": "Cycles MITE is delivering any Uop", 87*e0f6eeefSIan Rogers "CounterMask": "1", 88*e0f6eeefSIan Rogers "EventCode": "0x79", 89*e0f6eeefSIan Rogers "EventName": "IDQ.ALL_MITE_CYCLES_ANY_UOPS", 90*e0f6eeefSIan Rogers "PublicDescription": "Counts cycles MITE is delivered at least one uops. Set Cmask = 1.", 91*e0f6eeefSIan Rogers "SampleAfterValue": "2000003", 92*e0f6eeefSIan Rogers "UMask": "0x24" 93*e0f6eeefSIan Rogers }, 94*e0f6eeefSIan Rogers { 95*e0f6eeefSIan Rogers "BriefDescription": "Cycles when uops are being delivered to Instruction Decode Queue (IDQ) from Decode Stream Buffer (DSB) path", 96*e0f6eeefSIan Rogers "CounterMask": "1", 97*e0f6eeefSIan Rogers "EventCode": "0x79", 98*e0f6eeefSIan Rogers "EventName": "IDQ.DSB_CYCLES", 99*e0f6eeefSIan Rogers "PublicDescription": "Cycles when uops are being delivered to Instruction Decode Queue (IDQ) from Decode Stream Buffer (DSB) path.", 100*e0f6eeefSIan Rogers "SampleAfterValue": "2000003", 101*e0f6eeefSIan Rogers "UMask": "0x8" 102*e0f6eeefSIan Rogers }, 103*e0f6eeefSIan Rogers { 104*e0f6eeefSIan Rogers "BriefDescription": "Uops delivered to Instruction Decode Queue (IDQ) from the Decode Stream Buffer (DSB) path", 105*e0f6eeefSIan Rogers "EventCode": "0x79", 106*e0f6eeefSIan Rogers "EventName": "IDQ.DSB_UOPS", 107*e0f6eeefSIan Rogers "PublicDescription": "Increment each cycle. # of uops delivered to IDQ from DSB path. Set Cmask = 1 to count cycles.", 108*e0f6eeefSIan Rogers "SampleAfterValue": "2000003", 109*e0f6eeefSIan Rogers "UMask": "0x8" 110*e0f6eeefSIan Rogers }, 111*e0f6eeefSIan Rogers { 112*e0f6eeefSIan Rogers "BriefDescription": "Instruction Decode Queue (IDQ) empty cycles", 113*e0f6eeefSIan Rogers "EventCode": "0x79", 114*e0f6eeefSIan Rogers "EventName": "IDQ.EMPTY", 115*e0f6eeefSIan Rogers "PublicDescription": "Counts cycles the IDQ is empty.", 116*e0f6eeefSIan Rogers "SampleAfterValue": "2000003", 117*e0f6eeefSIan Rogers "UMask": "0x2" 118*e0f6eeefSIan Rogers }, 119*e0f6eeefSIan Rogers { 120*e0f6eeefSIan Rogers "BriefDescription": "Uops delivered to Instruction Decode Queue (IDQ) from MITE path", 121*e0f6eeefSIan Rogers "EventCode": "0x79", 122*e0f6eeefSIan Rogers "EventName": "IDQ.MITE_ALL_UOPS", 123*e0f6eeefSIan Rogers "PublicDescription": "Number of uops delivered to IDQ from any path.", 124*e0f6eeefSIan Rogers "SampleAfterValue": "2000003", 125*e0f6eeefSIan Rogers "UMask": "0x3c" 126*e0f6eeefSIan Rogers }, 127*e0f6eeefSIan Rogers { 128*e0f6eeefSIan Rogers "BriefDescription": "Cycles when uops are being delivered to Instruction Decode Queue (IDQ) from MITE path", 129*e0f6eeefSIan Rogers "CounterMask": "1", 130*e0f6eeefSIan Rogers "EventCode": "0x79", 131*e0f6eeefSIan Rogers "EventName": "IDQ.MITE_CYCLES", 132*e0f6eeefSIan Rogers "PublicDescription": "Cycles when uops are being delivered to Instruction Decode Queue (IDQ) from MITE path.", 133*e0f6eeefSIan Rogers "SampleAfterValue": "2000003", 134*e0f6eeefSIan Rogers "UMask": "0x4" 135*e0f6eeefSIan Rogers }, 136*e0f6eeefSIan Rogers { 137*e0f6eeefSIan Rogers "BriefDescription": "Uops delivered to Instruction Decode Queue (IDQ) from MITE path", 138*e0f6eeefSIan Rogers "EventCode": "0x79", 139*e0f6eeefSIan Rogers "EventName": "IDQ.MITE_UOPS", 140*e0f6eeefSIan Rogers "PublicDescription": "Increment each cycle # of uops delivered to IDQ from MITE path. Set Cmask = 1 to count cycles.", 141*e0f6eeefSIan Rogers "SampleAfterValue": "2000003", 142*e0f6eeefSIan Rogers "UMask": "0x4" 143*e0f6eeefSIan Rogers }, 144*e0f6eeefSIan Rogers { 145*e0f6eeefSIan Rogers "BriefDescription": "Cycles when uops are being delivered to Instruction Decode Queue (IDQ) while Microcode Sequenser (MS) is busy", 146*e0f6eeefSIan Rogers "CounterMask": "1", 147*e0f6eeefSIan Rogers "EventCode": "0x79", 148*e0f6eeefSIan Rogers "EventName": "IDQ.MS_CYCLES", 149*e0f6eeefSIan Rogers "PublicDescription": "Cycles when uops are being delivered to Instruction Decode Queue (IDQ) while Microcode Sequenser (MS) is busy.", 150*e0f6eeefSIan Rogers "SampleAfterValue": "2000003", 151*e0f6eeefSIan Rogers "UMask": "0x30" 152*e0f6eeefSIan Rogers }, 153*e0f6eeefSIan Rogers { 154*e0f6eeefSIan Rogers "BriefDescription": "Cycles when uops initiated by Decode Stream Buffer (DSB) are being delivered to Instruction Decode Queue (IDQ) while Microcode Sequenser (MS) is busy", 155*e0f6eeefSIan Rogers "CounterMask": "1", 156*e0f6eeefSIan Rogers "EventCode": "0x79", 157*e0f6eeefSIan Rogers "EventName": "IDQ.MS_DSB_CYCLES", 158*e0f6eeefSIan Rogers "PublicDescription": "Cycles when uops initiated by Decode Stream Buffer (DSB) are being delivered to Instruction Decode Queue (IDQ) while Microcode Sequenser (MS) is busy.", 159*e0f6eeefSIan Rogers "SampleAfterValue": "2000003", 160*e0f6eeefSIan Rogers "UMask": "0x10" 161*e0f6eeefSIan Rogers }, 162*e0f6eeefSIan Rogers { 163*e0f6eeefSIan Rogers "BriefDescription": "Deliveries to Instruction Decode Queue (IDQ) initiated by Decode Stream Buffer (DSB) while Microcode Sequenser (MS) is busy", 164*e0f6eeefSIan Rogers "CounterMask": "1", 165*e0f6eeefSIan Rogers "EdgeDetect": "1", 166*e0f6eeefSIan Rogers "EventCode": "0x79", 167*e0f6eeefSIan Rogers "EventName": "IDQ.MS_DSB_OCCUR", 168*e0f6eeefSIan Rogers "PublicDescription": "Deliveries to Instruction Decode Queue (IDQ) initiated by Decode Stream Buffer (DSB) while Microcode Sequenser (MS) is busy.", 169*e0f6eeefSIan Rogers "SampleAfterValue": "2000003", 170*e0f6eeefSIan Rogers "UMask": "0x10" 171*e0f6eeefSIan Rogers }, 172*e0f6eeefSIan Rogers { 173*e0f6eeefSIan Rogers "BriefDescription": "Uops initiated by Decode Stream Buffer (DSB) that are being delivered to Instruction Decode Queue (IDQ) while Microcode Sequenser (MS) is busy", 174*e0f6eeefSIan Rogers "EventCode": "0x79", 175*e0f6eeefSIan Rogers "EventName": "IDQ.MS_DSB_UOPS", 176*e0f6eeefSIan Rogers "PublicDescription": "Increment each cycle # of uops delivered to IDQ when MS_busy by DSB. Set Cmask = 1 to count cycles. Add Edge=1 to count # of delivery.", 177*e0f6eeefSIan Rogers "SampleAfterValue": "2000003", 178*e0f6eeefSIan Rogers "UMask": "0x10" 179*e0f6eeefSIan Rogers }, 180*e0f6eeefSIan Rogers { 181*e0f6eeefSIan Rogers "BriefDescription": "Uops initiated by MITE and delivered to Instruction Decode Queue (IDQ) while Microcode Sequenser (MS) is busy", 182*e0f6eeefSIan Rogers "EventCode": "0x79", 183*e0f6eeefSIan Rogers "EventName": "IDQ.MS_MITE_UOPS", 184*e0f6eeefSIan Rogers "PublicDescription": "Increment each cycle # of uops delivered to IDQ when MS_busy by MITE. Set Cmask = 1 to count cycles.", 185*e0f6eeefSIan Rogers "SampleAfterValue": "2000003", 186*e0f6eeefSIan Rogers "UMask": "0x20" 187*e0f6eeefSIan Rogers }, 188*e0f6eeefSIan Rogers { 189*e0f6eeefSIan Rogers "BriefDescription": "Number of switches from DSB (Decode Stream Buffer) or MITE (legacy decode pipeline) to the Microcode Sequencer", 190*e0f6eeefSIan Rogers "CounterMask": "1", 191*e0f6eeefSIan Rogers "EdgeDetect": "1", 192*e0f6eeefSIan Rogers "EventCode": "0x79", 193*e0f6eeefSIan Rogers "EventName": "IDQ.MS_SWITCHES", 194*e0f6eeefSIan Rogers "PublicDescription": "Number of switches from DSB (Decode Stream Buffer) or MITE (legacy decode pipeline) to the Microcode Sequencer.", 195*e0f6eeefSIan Rogers "SampleAfterValue": "2000003", 196*e0f6eeefSIan Rogers "UMask": "0x30" 197*e0f6eeefSIan Rogers }, 198*e0f6eeefSIan Rogers { 199*e0f6eeefSIan Rogers "BriefDescription": "Uops delivered to Instruction Decode Queue (IDQ) while Microcode Sequenser (MS) is busy", 200*e0f6eeefSIan Rogers "EventCode": "0x79", 201*e0f6eeefSIan Rogers "EventName": "IDQ.MS_UOPS", 202*e0f6eeefSIan Rogers "PublicDescription": "Increment each cycle # of uops delivered to IDQ from MS by either DSB or MITE. Set Cmask = 1 to count cycles.", 203*e0f6eeefSIan Rogers "SampleAfterValue": "2000003", 204*e0f6eeefSIan Rogers "UMask": "0x30" 205*e0f6eeefSIan Rogers }, 206*e0f6eeefSIan Rogers { 207*e0f6eeefSIan Rogers "BriefDescription": "Uops not delivered to Resource Allocation Table (RAT) per thread when backend of the machine is not stalled", 208*e0f6eeefSIan Rogers "EventCode": "0x9C", 209*e0f6eeefSIan Rogers "EventName": "IDQ_UOPS_NOT_DELIVERED.CORE", 210*e0f6eeefSIan Rogers "PublicDescription": "Count issue pipeline slots where no uop was delivered from the front end to the back end when there is no back-end stall.", 211*e0f6eeefSIan Rogers "SampleAfterValue": "2000003", 212*e0f6eeefSIan Rogers "UMask": "0x1" 213*e0f6eeefSIan Rogers }, 214*e0f6eeefSIan Rogers { 215*e0f6eeefSIan Rogers "BriefDescription": "Cycles per thread when 4 or more uops are not delivered to Resource Allocation Table (RAT) when backend of the machine is not stalled.", 216*e0f6eeefSIan Rogers "CounterMask": "4", 217*e0f6eeefSIan Rogers "EventCode": "0x9C", 2184b90798eSAndi Kleen "EventName": "IDQ_UOPS_NOT_DELIVERED.CYCLES_0_UOPS_DELIV.CORE", 2194b90798eSAndi Kleen "SampleAfterValue": "2000003", 220*e0f6eeefSIan Rogers "UMask": "0x1" 2214b90798eSAndi Kleen }, 2224b90798eSAndi Kleen { 223*e0f6eeefSIan Rogers "BriefDescription": "Counts cycles FE delivered 4 uops or Resource Allocation Table (RAT) was stalling FE.", 224*e0f6eeefSIan Rogers "CounterMask": "1", 225*e0f6eeefSIan Rogers "EventCode": "0x9C", 226*e0f6eeefSIan Rogers "EventName": "IDQ_UOPS_NOT_DELIVERED.CYCLES_FE_WAS_OK", 227*e0f6eeefSIan Rogers "Invert": "1", 228*e0f6eeefSIan Rogers "SampleAfterValue": "2000003", 229*e0f6eeefSIan Rogers "UMask": "0x1" 230*e0f6eeefSIan Rogers }, 231*e0f6eeefSIan Rogers { 232*e0f6eeefSIan Rogers "BriefDescription": "Cycles per thread when 3 or more uops are not delivered to Resource Allocation Table (RAT) when backend of the machine is not stalled.", 233*e0f6eeefSIan Rogers "CounterMask": "3", 234*e0f6eeefSIan Rogers "EventCode": "0x9C", 2354b90798eSAndi Kleen "EventName": "IDQ_UOPS_NOT_DELIVERED.CYCLES_LE_1_UOP_DELIV.CORE", 2364b90798eSAndi Kleen "SampleAfterValue": "2000003", 237*e0f6eeefSIan Rogers "UMask": "0x1" 2384b90798eSAndi Kleen }, 2394b90798eSAndi Kleen { 240*e0f6eeefSIan Rogers "BriefDescription": "Cycles with less than 2 uops delivered by the front end.", 241*e0f6eeefSIan Rogers "CounterMask": "2", 242*e0f6eeefSIan Rogers "EventCode": "0x9C", 2434b90798eSAndi Kleen "EventName": "IDQ_UOPS_NOT_DELIVERED.CYCLES_LE_2_UOP_DELIV.CORE", 2444b90798eSAndi Kleen "SampleAfterValue": "2000003", 245*e0f6eeefSIan Rogers "UMask": "0x1" 2464b90798eSAndi Kleen }, 2474b90798eSAndi Kleen { 248*e0f6eeefSIan Rogers "BriefDescription": "Cycles with less than 3 uops delivered by the front end.", 249*e0f6eeefSIan Rogers "CounterMask": "1", 250*e0f6eeefSIan Rogers "EventCode": "0x9C", 2514b90798eSAndi Kleen "EventName": "IDQ_UOPS_NOT_DELIVERED.CYCLES_LE_3_UOP_DELIV.CORE", 2524b90798eSAndi Kleen "SampleAfterValue": "2000003", 253*e0f6eeefSIan Rogers "UMask": "0x1" 2544b90798eSAndi Kleen } 2554b90798eSAndi Kleen] 256