14a00680bSAndi Kleen[
24a00680bSAndi Kleen    {
34a00680bSAndi Kleen        "CollectPEBSRecord": "1",
403da89c5SAndi Kleen        "PublicDescription": "Counts cycles that fetch is stalled due to any reason. That is, the decoder queue is able to accept bytes, but the fetch unit is unable to provide bytes.  This will include cycles due to an ITLB miss, ICache miss and other events.",
503da89c5SAndi Kleen        "EventCode": "0x86",
603da89c5SAndi Kleen        "Counter": "0,1,2,3",
703da89c5SAndi Kleen        "UMask": "0x0",
803da89c5SAndi Kleen        "EventName": "FETCH_STALL.ALL",
903da89c5SAndi Kleen        "SampleAfterValue": "200003",
1003da89c5SAndi Kleen        "BriefDescription": "Cycles code-fetch stalled due to any reason."
1103da89c5SAndi Kleen    },
1203da89c5SAndi Kleen    {
1303da89c5SAndi Kleen        "CollectPEBSRecord": "1",
1403da89c5SAndi Kleen        "PublicDescription": "Counts cycles that fetch is stalled due to an outstanding ITLB miss. That is, the decoder queue is able to accept bytes, but the fetch unit is unable to provide bytes due to an ITLB miss.  Note: this event is not the same as page walk cycles to retrieve an instruction translation.",
1503da89c5SAndi Kleen        "EventCode": "0x86",
1603da89c5SAndi Kleen        "Counter": "0,1,2,3",
1703da89c5SAndi Kleen        "UMask": "0x1",
1803da89c5SAndi Kleen        "EventName": "FETCH_STALL.ITLB_FILL_PENDING_CYCLES",
1903da89c5SAndi Kleen        "SampleAfterValue": "200003",
2003da89c5SAndi Kleen        "BriefDescription": "Cycles code-fetch stalled due to an outstanding ITLB miss."
2103da89c5SAndi Kleen    },
2203da89c5SAndi Kleen    {
2303da89c5SAndi Kleen        "CollectPEBSRecord": "1",
2403da89c5SAndi Kleen        "PublicDescription": "Counts the number of issue slots per core cycle that were not consumed by the backend due to either a full resource  in the backend (RESOURCE_FULL) or due to the processor recovering from some event (RECOVERY).",
2503da89c5SAndi Kleen        "EventCode": "0xCA",
2603da89c5SAndi Kleen        "Counter": "0,1,2,3",
2703da89c5SAndi Kleen        "UMask": "0x0",
2803da89c5SAndi Kleen        "EventName": "ISSUE_SLOTS_NOT_CONSUMED.ANY",
2903da89c5SAndi Kleen        "SampleAfterValue": "200003",
3003da89c5SAndi Kleen        "BriefDescription": "Unfilled issue slots per cycle"
3103da89c5SAndi Kleen    },
3203da89c5SAndi Kleen    {
3303da89c5SAndi Kleen        "CollectPEBSRecord": "1",
344a00680bSAndi Kleen        "PublicDescription": "Counts the number of issue slots per core cycle that were not consumed because of a full resource in the backend.  Including but not limited to resources such as the Re-order Buffer (ROB), reservation stations (RS), load/store buffers, physical registers, or any other needed machine resource that is currently unavailable.   Note that uops must be available for consumption in order for this event to fire.  If a uop is not available (Instruction Queue is empty), this event will not count.",
354a00680bSAndi Kleen        "EventCode": "0xCA",
364a00680bSAndi Kleen        "Counter": "0,1,2,3",
374a00680bSAndi Kleen        "UMask": "0x1",
384a00680bSAndi Kleen        "EventName": "ISSUE_SLOTS_NOT_CONSUMED.RESOURCE_FULL",
394a00680bSAndi Kleen        "SampleAfterValue": "200003",
404a00680bSAndi Kleen        "BriefDescription": "Unfilled issue slots per cycle because of a full resource in the backend"
414a00680bSAndi Kleen    },
424a00680bSAndi Kleen    {
434a00680bSAndi Kleen        "CollectPEBSRecord": "1",
444a00680bSAndi Kleen        "PublicDescription": "Counts the number of issue slots per core cycle that were not consumed by the backend because allocation is stalled waiting for a mispredicted jump to retire or other branch-like conditions (e.g. the event is relevant during certain microcode flows).   Counts all issue slots blocked while within this window including slots where uops were not available in the Instruction Queue.",
454a00680bSAndi Kleen        "EventCode": "0xCA",
464a00680bSAndi Kleen        "Counter": "0,1,2,3",
474a00680bSAndi Kleen        "UMask": "0x2",
484a00680bSAndi Kleen        "EventName": "ISSUE_SLOTS_NOT_CONSUMED.RECOVERY",
494a00680bSAndi Kleen        "SampleAfterValue": "200003",
504a00680bSAndi Kleen        "BriefDescription": "Unfilled issue slots per cycle to recover"
514a00680bSAndi Kleen    },
524a00680bSAndi Kleen    {
534a00680bSAndi Kleen        "CollectPEBSRecord": "2",
544a00680bSAndi Kleen        "PublicDescription": "Counts hardware interrupts received by the processor.",
554a00680bSAndi Kleen        "EventCode": "0xCB",
564a00680bSAndi Kleen        "Counter": "0,1,2,3",
574a00680bSAndi Kleen        "UMask": "0x1",
584a00680bSAndi Kleen        "EventName": "HW_INTERRUPTS.RECEIVED",
5903da89c5SAndi Kleen        "SampleAfterValue": "203",
6003da89c5SAndi Kleen        "BriefDescription": "Hardware interrupts received"
6103da89c5SAndi Kleen    },
6203da89c5SAndi Kleen    {
6303da89c5SAndi Kleen        "CollectPEBSRecord": "2",
6403da89c5SAndi Kleen        "PublicDescription": "Counts the number of core cycles during which interrupts are masked (disabled). Increments by 1 each core cycle that EFLAGS.IF is 0, regardless of whether interrupts are pending or not.",
6503da89c5SAndi Kleen        "EventCode": "0xCB",
6603da89c5SAndi Kleen        "Counter": "0,1,2,3",
6703da89c5SAndi Kleen        "UMask": "0x2",
6803da89c5SAndi Kleen        "EventName": "HW_INTERRUPTS.MASKED",
694a00680bSAndi Kleen        "SampleAfterValue": "200003",
7003da89c5SAndi Kleen        "BriefDescription": "Cycles hardware interrupts are masked"
714a00680bSAndi Kleen    },
724a00680bSAndi Kleen    {
734a00680bSAndi Kleen        "CollectPEBSRecord": "2",
744a00680bSAndi Kleen        "PublicDescription": "Counts core cycles during which there are pending interrupts, but interrupts are masked (EFLAGS.IF = 0).",
754a00680bSAndi Kleen        "EventCode": "0xCB",
764a00680bSAndi Kleen        "Counter": "0,1,2,3",
774a00680bSAndi Kleen        "UMask": "0x4",
784a00680bSAndi Kleen        "EventName": "HW_INTERRUPTS.PENDING_AND_MASKED",
794a00680bSAndi Kleen        "SampleAfterValue": "200003",
8003da89c5SAndi Kleen        "BriefDescription": "Cycles pending interrupts are masked"
814a00680bSAndi Kleen    }
824a00680bSAndi Kleen]