1[
2    {
3        "BriefDescription": "Cycles code-fetch stalled due to any reason.",
4        "CollectPEBSRecord": "1",
5        "Counter": "0,1,2,3",
6        "EventCode": "0x86",
7        "EventName": "FETCH_STALL.ALL",
8        "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.",
9        "SampleAfterValue": "200003"
10    },
11    {
12        "BriefDescription": "Cycles code-fetch stalled due to an outstanding ITLB miss.",
13        "CollectPEBSRecord": "1",
14        "Counter": "0,1,2,3",
15        "EventCode": "0x86",
16        "EventName": "FETCH_STALL.ITLB_FILL_PENDING_CYCLES",
17        "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.",
18        "SampleAfterValue": "200003",
19        "UMask": "0x1"
20    },
21    {
22        "BriefDescription": "Cycles hardware interrupts are masked",
23        "CollectPEBSRecord": "2",
24        "Counter": "0,1,2,3",
25        "EventCode": "0xCB",
26        "EventName": "HW_INTERRUPTS.MASKED",
27        "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.",
28        "SampleAfterValue": "200003",
29        "UMask": "0x2"
30    },
31    {
32        "BriefDescription": "Cycles pending interrupts are masked",
33        "CollectPEBSRecord": "2",
34        "Counter": "0,1,2,3",
35        "EventCode": "0xCB",
36        "EventName": "HW_INTERRUPTS.PENDING_AND_MASKED",
37        "PublicDescription": "Counts core cycles during which there are pending interrupts, but interrupts are masked (EFLAGS.IF = 0).",
38        "SampleAfterValue": "200003",
39        "UMask": "0x4"
40    },
41    {
42        "BriefDescription": "Hardware interrupts received",
43        "CollectPEBSRecord": "2",
44        "Counter": "0,1,2,3",
45        "EventCode": "0xCB",
46        "EventName": "HW_INTERRUPTS.RECEIVED",
47        "PublicDescription": "Counts hardware interrupts received by the processor.",
48        "SampleAfterValue": "203",
49        "UMask": "0x1"
50    },
51    {
52        "BriefDescription": "Unfilled issue slots per cycle",
53        "CollectPEBSRecord": "1",
54        "Counter": "0,1,2,3",
55        "EventCode": "0xCA",
56        "EventName": "ISSUE_SLOTS_NOT_CONSUMED.ANY",
57        "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).",
58        "SampleAfterValue": "200003"
59    },
60    {
61        "BriefDescription": "Unfilled issue slots per cycle to recover",
62        "CollectPEBSRecord": "1",
63        "Counter": "0,1,2,3",
64        "EventCode": "0xCA",
65        "EventName": "ISSUE_SLOTS_NOT_CONSUMED.RECOVERY",
66        "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.",
67        "SampleAfterValue": "200003",
68        "UMask": "0x2"
69    },
70    {
71        "BriefDescription": "Unfilled issue slots per cycle because of a full resource in the backend",
72        "CollectPEBSRecord": "1",
73        "Counter": "0,1,2,3",
74        "EventCode": "0xCA",
75        "EventName": "ISSUE_SLOTS_NOT_CONSUMED.RESOURCE_FULL",
76        "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.",
77        "SampleAfterValue": "200003",
78        "UMask": "0x1"
79    }
80]