14e411ee4SZhengjun Xing[
24e411ee4SZhengjun Xing    {
34e411ee4SZhengjun Xing        "BriefDescription": "PCU PCLK Clockticks",
44e411ee4SZhengjun Xing        "EventCode": "0x01",
54e411ee4SZhengjun Xing        "EventName": "UNC_P_CLOCKTICKS",
64e411ee4SZhengjun Xing        "PerPkg": "1",
7*400dd489SIan Rogers        "PublicDescription": "Number of PCU PCLK Clock cycles while the event is enabled",
8*400dd489SIan Rogers        "Unit": "PCU"
9*400dd489SIan Rogers    },
10*400dd489SIan Rogers    {
11*400dd489SIan Rogers        "BriefDescription": "Thermal Strongest Upper Limit Cycles",
12*400dd489SIan Rogers        "EventCode": "0x04",
13*400dd489SIan Rogers        "EventName": "UNC_P_FREQ_MAX_LIMIT_THERMAL_CYCLES",
14*400dd489SIan Rogers        "PerPkg": "1",
15*400dd489SIan Rogers        "PublicDescription": "Thermal Strongest Upper Limit Cycles : Number of cycles any frequency is reduced due to a thermal limit.  Count only if throttling is occurring.",
16*400dd489SIan Rogers        "Unit": "PCU"
17*400dd489SIan Rogers    },
18*400dd489SIan Rogers    {
19*400dd489SIan Rogers        "BriefDescription": "Power Strongest Upper Limit Cycles",
20*400dd489SIan Rogers        "EventCode": "0x05",
21*400dd489SIan Rogers        "EventName": "UNC_P_FREQ_MAX_POWER_CYCLES",
22*400dd489SIan Rogers        "PerPkg": "1",
23*400dd489SIan Rogers        "PublicDescription": "Power Strongest Upper Limit Cycles : Counts the number of cycles when power is the upper limit on frequency.",
24*400dd489SIan Rogers        "Unit": "PCU"
25*400dd489SIan Rogers    },
26*400dd489SIan Rogers    {
27*400dd489SIan Rogers        "BriefDescription": "Cycles spent changing Frequency",
28*400dd489SIan Rogers        "EventCode": "0x74",
29*400dd489SIan Rogers        "EventName": "UNC_P_FREQ_TRANS_CYCLES",
30*400dd489SIan Rogers        "PerPkg": "1",
31*400dd489SIan Rogers        "PublicDescription": "Cycles spent changing Frequency : Counts the number of cycles when the system is changing frequency.  This can not be filtered by thread ID.  One can also use it with the occupancy counter that monitors number of threads in C0 to estimate the performance impact that frequency transitions had on the system.",
32*400dd489SIan Rogers        "Unit": "PCU"
33*400dd489SIan Rogers    },
34*400dd489SIan Rogers    {
35*400dd489SIan Rogers        "BriefDescription": "Package C State Residency - C2E",
36*400dd489SIan Rogers        "EventCode": "0x2b",
37*400dd489SIan Rogers        "EventName": "UNC_P_PKG_RESIDENCY_C2E_CYCLES",
38*400dd489SIan Rogers        "PerPkg": "1",
39*400dd489SIan Rogers        "PublicDescription": "Package C State Residency - C2E : Counts the number of cycles when the package was in C2E.  This event can be used in conjunction with edge detect to count C2E entrances (or exits using invert).  Residency events do not include transition times.",
40*400dd489SIan Rogers        "Unit": "PCU"
41*400dd489SIan Rogers    },
42*400dd489SIan Rogers    {
43*400dd489SIan Rogers        "BriefDescription": "Package C State Residency - C6",
44*400dd489SIan Rogers        "EventCode": "0x2d",
45*400dd489SIan Rogers        "EventName": "UNC_P_PKG_RESIDENCY_C6_CYCLES",
46*400dd489SIan Rogers        "PerPkg": "1",
47*400dd489SIan Rogers        "PublicDescription": "Package C State Residency - C6 : Counts the number of cycles when the package was in C6.  This event can be used in conjunction with edge detect to count C6 entrances (or exits using invert).  Residency events do not include transition times.",
48*400dd489SIan Rogers        "Unit": "PCU"
49*400dd489SIan Rogers    },
50*400dd489SIan Rogers    {
51*400dd489SIan Rogers        "BriefDescription": "Number of cores in C0",
52*400dd489SIan Rogers        "EventCode": "0x35",
53*400dd489SIan Rogers        "EventName": "UNC_P_POWER_STATE_OCCUPANCY_CORES_C0",
54*400dd489SIan Rogers        "PerPkg": "1",
55*400dd489SIan Rogers        "PublicDescription": "Number of cores in C0 : This is an occupancy event that tracks the number of cores that are in the chosen C-State.  It can be used by itself to get the average number of cores in that C-state with thresholding to generate histograms, or with other PCU events and occupancy triggering to capture other details.",
56*400dd489SIan Rogers        "Unit": "PCU"
57*400dd489SIan Rogers    },
58*400dd489SIan Rogers    {
59*400dd489SIan Rogers        "BriefDescription": "Number of cores in C3",
60*400dd489SIan Rogers        "EventCode": "0x36",
61*400dd489SIan Rogers        "EventName": "UNC_P_POWER_STATE_OCCUPANCY_CORES_C3",
62*400dd489SIan Rogers        "PerPkg": "1",
63*400dd489SIan Rogers        "PublicDescription": "Number of cores in C3 : This is an occupancy event that tracks the number of cores that are in the chosen C-State.  It can be used by itself to get the average number of cores in that C-state with thresholding to generate histograms, or with other PCU events and occupancy triggering to capture other details.",
64*400dd489SIan Rogers        "Unit": "PCU"
65*400dd489SIan Rogers    },
66*400dd489SIan Rogers    {
67*400dd489SIan Rogers        "BriefDescription": "Number of cores in C6",
68*400dd489SIan Rogers        "EventCode": "0x37",
69*400dd489SIan Rogers        "EventName": "UNC_P_POWER_STATE_OCCUPANCY_CORES_C6",
70*400dd489SIan Rogers        "PerPkg": "1",
71*400dd489SIan Rogers        "PublicDescription": "Number of cores in C6 : This is an occupancy event that tracks the number of cores that are in the chosen C-State.  It can be used by itself to get the average number of cores in that C-state with thresholding to generate histograms, or with other PCU events and occupancy triggering to capture other details.",
72*400dd489SIan Rogers        "Unit": "PCU"
73*400dd489SIan Rogers    },
74*400dd489SIan Rogers    {
75*400dd489SIan Rogers        "BriefDescription": "External Prochot",
76*400dd489SIan Rogers        "EventCode": "0x0a",
77*400dd489SIan Rogers        "EventName": "UNC_P_PROCHOT_EXTERNAL_CYCLES",
78*400dd489SIan Rogers        "PerPkg": "1",
79*400dd489SIan Rogers        "PublicDescription": "External Prochot : Counts the number of cycles that we are in external PROCHOT mode.  This mode is triggered when a sensor off the die determines that something off-die (like DRAM) is too hot and must throttle to avoid damaging the chip.",
80*400dd489SIan Rogers        "Unit": "PCU"
81*400dd489SIan Rogers    },
82*400dd489SIan Rogers    {
83*400dd489SIan Rogers        "BriefDescription": "Internal Prochot",
84*400dd489SIan Rogers        "EventCode": "0x09",
85*400dd489SIan Rogers        "EventName": "UNC_P_PROCHOT_INTERNAL_CYCLES",
86*400dd489SIan Rogers        "PerPkg": "1",
87*400dd489SIan Rogers        "PublicDescription": "Internal Prochot : Counts the number of cycles that we are in Internal PROCHOT mode.  This mode is triggered when a sensor on the die determines that we are too hot and must throttle to avoid damaging the chip.",
884e411ee4SZhengjun Xing        "Unit": "PCU"
894e411ee4SZhengjun Xing    }
904e411ee4SZhengjun Xing]
91