30 .pme_desc =
"Uncore clockticks.",
34 { .pme_name =
"UNC_DRAM_OPEN",
35 .pme_desc =
"DRAM open comamnds issued for read or write",
40 .pme_udesc =
"DRAM Channel 0 open comamnds issued for read or write",
44 .pme_udesc =
"DRAM Channel 1 open comamnds issued for read or write",
48 .pme_udesc =
"DRAM Channel 2 open comamnds issued for read or write",
54 { .pme_name =
"UNC_GC_OCCUPANCY",
55 .pme_desc =
"Number of queue entries",
59 { .pme_uname =
"READ_TRACKER",
60 .pme_udesc =
"in the read tracker",
66 { .pme_name =
"UNC_DRAM_PAGE_CLOSE",
67 .pme_desc =
"DRAM page close due to idle timer expiration",
72 .pme_udesc =
"DRAM Channel 0 page close",
76 .pme_udesc =
"DRAM Channel 1 page close",
80 .pme_udesc =
"DRAM Channel 2 page close",
86 { .pme_name =
"UNC_DRAM_PAGE_MISS",
87 .pme_desc =
"DRAM Channel 0 page miss",
92 .pme_udesc =
"DRAM Channel 0 page miss",
96 .pme_udesc =
"DRAM Channel 1 page miss",
100 .pme_udesc =
"DRAM Channel 2 page miss",
106 { .pme_name =
"UNC_DRAM_PRE_ALL",
107 .pme_desc =
"DRAM Channel 0 precharge all commands",
111 { .pme_uname =
"CH0",
112 .pme_udesc =
"DRAM Channel 0 precharge all commands",
115 { .pme_uname =
"CH1",
116 .pme_udesc =
"DRAM Channel 1 precharge all commands",
119 { .pme_uname =
"CH2",
120 .pme_udesc =
"DRAM Channel 2 precharge all commands",
126 { .pme_name =
"UNC_DRAM_THERMAL_THROTTLED",
127 .pme_desc =
"uncore cycles DRAM was throttled due to its temperature being above thermal throttling threshold",
131 { .pme_name =
"UNC_DRAM_READ_CAS",
132 .pme_desc =
"DRAM Channel 0 read CAS commands",
136 { .pme_uname =
"CH0",
137 .pme_udesc =
"DRAM Channel 0 read CAS commands",
140 { .pme_uname =
"AUTOPRE_CH0",
141 .pme_udesc =
"DRAM Channel 0 read CAS auto page close commands",
144 { .pme_uname =
"CH1",
145 .pme_udesc =
"DRAM Channel 1 read CAS commands",
148 { .pme_uname =
"AUTOPRE_CH1",
149 .pme_udesc =
"DRAM Channel 1 read CAS auto page close commands",
152 { .pme_uname =
"CH2",
153 .pme_udesc =
"DRAM Channel 2 read CAS commands",
156 { .pme_uname =
"AUTOPRE_CH2",
157 .pme_udesc =
"DRAM Channel 2 read CAS auto page close commands",
163 { .pme_name =
"UNC_DRAM_REFRESH",
164 .pme_desc =
"DRAM Channel 0 refresh commands",
168 { .pme_uname =
"CH0",
169 .pme_udesc =
"DRAM Channel 0 refresh commands",
172 { .pme_uname =
"CH1",
173 .pme_udesc =
"DRAM Channel 1 refresh commands",
176 { .pme_uname =
"CH2",
177 .pme_udesc =
"DRAM Channel 2 refresh commands",
183 { .pme_name =
"UNC_DRAM_WRITE_CAS",
184 .pme_desc =
"DRAM Channel 0 write CAS commands",
188 { .pme_uname =
"CH0",
189 .pme_udesc =
"DRAM Channel 0 write CAS commands",
192 { .pme_uname =
"AUTOPRE_CH0",
193 .pme_udesc =
"DRAM Channel 0 write CAS auto page close commands",
196 { .pme_uname =
"CH1",
197 .pme_udesc =
"DRAM Channel 1 write CAS commands",
200 { .pme_uname =
"AUTOPRE_CH1",
201 .pme_udesc =
"DRAM Channel 1 write CAS auto page close commands",
204 { .pme_uname =
"CH2",
205 .pme_udesc =
"DRAM Channel 2 write CAS commands",
208 { .pme_uname =
"AUTOPRE_CH2",
209 .pme_udesc =
"DRAM Channel 2 write CAS auto page close commands",
215 { .pme_name =
"UNC_GQ_ALLOC",
216 .pme_desc =
"GQ read tracker requests",
220 { .pme_uname =
"READ_TRACKER",
221 .pme_udesc =
"GQ read tracker requests",
224 { .pme_uname =
"RT_LLC_MISS",
225 .pme_udesc =
"GQ read tracker LLC misses",
228 { .pme_uname =
"RT_TO_LLC_RESP",
229 .pme_udesc =
"GQ read tracker LLC requests",
232 { .pme_uname =
"RT_TO_RTID_ACQUIRED",
233 .pme_udesc =
"GQ read tracker LLC miss to RTID acquired",
236 { .pme_uname =
"WT_TO_RTID_ACQUIRED",
237 .pme_udesc =
"GQ write tracker LLC miss to RTID acquired",
240 { .pme_uname =
"WRITE_TRACKER",
241 .pme_udesc =
"GQ write tracker LLC misses",
244 { .pme_uname =
"PEER_PROBE_TRACKER",
245 .pme_udesc =
"GQ peer probe tracker requests",
251 { .pme_name =
"UNC_GQ_CYCLES_FULL",
252 .pme_desc =
"Cycles GQ read tracker is full.",
256 { .pme_uname =
"READ_TRACKER",
257 .pme_udesc =
"Cycles GQ read tracker is full.",
260 { .pme_uname =
"WRITE_TRACKER",
261 .pme_udesc =
"Cycles GQ write tracker is full.",
264 { .pme_uname =
"PEER_PROBE_TRACKER",
265 .pme_udesc =
"Cycles GQ peer probe tracker is full.",
271 { .pme_name =
"UNC_GQ_CYCLES_NOT_EMPTY",
272 .pme_desc =
"Cycles GQ read tracker is busy",
276 { .pme_uname =
"READ_TRACKER",
277 .pme_udesc =
"Cycles GQ read tracker is busy",
280 { .pme_uname =
"WRITE_TRACKER",
281 .pme_udesc =
"Cycles GQ write tracker is busy",
284 { .pme_uname =
"PEER_PROBE_TRACKER",
285 .pme_udesc =
"Cycles GQ peer probe tracker is busy",
291 { .pme_name =
"UNC_GQ_DATA_FROM",
292 .pme_desc =
"Cycles GQ data is imported",
296 { .pme_uname =
"QPI",
297 .pme_udesc =
"Cycles GQ data is imported from Quickpath interface",
300 { .pme_uname =
"QMC",
301 .pme_udesc =
"Cycles GQ data is imported from Quickpath memory interface",
304 { .pme_uname =
"LLC",
305 .pme_udesc =
"Cycles GQ data is imported from LLC",
308 { .pme_uname =
"CORES_02",
309 .pme_udesc =
"Cycles GQ data is imported from Cores 0 and 2",
312 { .pme_uname =
"CORES_13",
313 .pme_udesc =
"Cycles GQ data is imported from Cores 1 and 3",
319 { .pme_name =
"UNC_GQ_DATA_TO",
320 .pme_desc =
"Cycles GQ data is exported",
324 { .pme_uname =
"QPI_QMC",
325 .pme_udesc =
"Cycles GQ data sent to the QPI or QMC",
328 { .pme_uname =
"LLC",
329 .pme_udesc =
"Cycles GQ data sent to LLC",
332 { .pme_uname =
"CORES",
333 .pme_udesc =
"Cycles GQ data sent to cores",
339 { .pme_name =
"UNC_LLC_HITS",
340 .pme_desc =
"Number of LLC read hits",
344 { .pme_uname =
"READ",
345 .pme_udesc =
"Number of LLC read hits",
348 { .pme_uname =
"WRITE",
349 .pme_udesc =
"Number of LLC write hits",
352 { .pme_uname =
"PROBE",
353 .pme_udesc =
"Number of LLC peer probe hits",
356 { .pme_uname =
"ANY",
357 .pme_udesc =
"Number of LLC hits",
363 { .pme_name =
"UNC_LLC_LINES_IN",
364 .pme_desc =
"LLC lines allocated in M state",
368 { .pme_uname =
"M_STATE",
369 .pme_udesc =
"LLC lines allocated in M state",
372 { .pme_uname =
"E_STATE",
373 .pme_udesc =
"LLC lines allocated in E state",
376 { .pme_uname =
"S_STATE",
377 .pme_udesc =
"LLC lines allocated in S state",
380 { .pme_uname =
"F_STATE",
381 .pme_udesc =
"LLC lines allocated in F state",
384 { .pme_uname =
"ANY",
385 .pme_udesc =
"LLC lines allocated",
391 { .pme_name =
"UNC_LLC_LINES_OUT",
392 .pme_desc =
"LLC lines victimized in M state",
396 { .pme_uname =
"M_STATE",
397 .pme_udesc =
"LLC lines victimized in M state",
400 { .pme_uname =
"E_STATE",
401 .pme_udesc =
"LLC lines victimized in E state",
404 { .pme_uname =
"S_STATE",
405 .pme_udesc =
"LLC lines victimized in S state",
408 { .pme_uname =
"I_STATE",
409 .pme_udesc =
"LLC lines victimized in I state",
412 { .pme_uname =
"F_STATE",
413 .pme_udesc =
"LLC lines victimized in F state",
416 { .pme_uname =
"ANY",
417 .pme_udesc =
"LLC lines victimized",
423 { .pme_name =
"UNC_LLC_MISS",
424 .pme_desc =
"Number of LLC read misses",
428 { .pme_uname =
"READ",
429 .pme_udesc =
"Number of LLC read misses",
432 { .pme_uname =
"WRITE",
433 .pme_udesc =
"Number of LLC write misses",
436 { .pme_uname =
"PROBE",
437 .pme_udesc =
"Number of LLC peer probe misses",
440 { .pme_uname =
"ANY",
441 .pme_udesc =
"Number of LLC misses",
447 { .pme_name =
"UNC_QHL_ADDRESS_CONFLICTS",
448 .pme_desc =
"QHL 2 way address conflicts",
452 { .pme_uname =
"2WAY",
453 .pme_udesc =
"QHL 2 way address conflicts",
456 { .pme_uname =
"3WAY",
457 .pme_udesc =
"QHL 3 way address conflicts",
463 { .pme_name =
"UNC_QHL_CONFLICT_CYCLES",
464 .pme_desc =
"QHL IOH Tracker conflict cycles",
468 { .pme_uname =
"IOH",
469 .pme_udesc =
"QHL IOH Tracker conflict cycles",
472 { .pme_uname =
"REMOTE",
473 .pme_udesc =
"QHL Remote Tracker conflict cycles",
476 { .pme_uname =
"LOCAL",
477 .pme_udesc =
"QHL Local Tracker conflict cycles",
483 { .pme_name =
"UNC_QHL_CYCLES_FULL",
484 .pme_desc =
"Cycles QHL Remote Tracker is full",
488 { .pme_uname =
"REMOTE",
489 .pme_udesc =
"Cycles QHL Remote Tracker is full",
492 { .pme_uname =
"LOCAL",
493 .pme_udesc =
"Cycles QHL Local Tracker is full",
496 { .pme_uname =
"IOH",
497 .pme_udesc =
"Cycles QHL IOH Tracker is full",
504 { .pme_name =
"UNC_QHL_CYCLES_NOT_EMPTY",
505 .pme_desc =
"Cycles QHL Tracker is not empty",
509 { .pme_uname =
"IOH",
510 .pme_udesc =
"Cycles QHL IOH is busy",
513 { .pme_uname =
"REMOTE",
514 .pme_udesc =
"Cycles QHL Remote Tracker is busy",
517 { .pme_uname =
"LOCAL",
518 .pme_udesc =
"Cycles QHL Local Tracker is busy",
524 { .pme_name =
"UNC_QHL_FRC_ACK_CNFLTS",
525 .pme_desc =
"QHL FrcAckCnflts sent to local home",
529 { .pme_uname =
"LOCAL",
530 .pme_udesc =
"QHL FrcAckCnflts sent to local home",
536 { .pme_name =
"UNC_QHL_SLEEPS",
537 .pme_desc =
"number of occurrences a request was put to sleep",
541 { .pme_uname =
"IOH_ORDER",
542 .pme_udesc =
"due to IOH ordering (write after read) conflicts",
545 { .pme_uname =
"REMOTE_ORDER",
546 .pme_udesc =
"due to remote socket ordering (write after read) conflicts",
549 { .pme_uname =
"LOCAL_ORDER",
550 .pme_udesc =
"due to local socket ordering (write after read) conflicts",
553 { .pme_uname =
"IOH_CONFLICT",
554 .pme_udesc =
"due to IOH address conflicts",
557 { .pme_uname =
"REMOTE_CONFLICT",
558 .pme_udesc =
"due to remote socket address conflicts",
561 { .pme_uname =
"LOCAL_CONFLICT",
562 .pme_udesc =
"due to local socket address conflicts",
569 { .pme_name =
"UNC_QHL_OCCUPANCY",
570 .pme_desc =
"Cycles QHL Tracker Allocate to Deallocate Read Occupancy",
574 { .pme_uname =
"IOH",
575 .pme_udesc =
"Cycles QHL IOH Tracker Allocate to Deallocate Read Occupancy",
578 { .pme_uname =
"REMOTE",
579 .pme_udesc =
"Cycles QHL Remote Tracker Allocate to Deallocate Read Occupancy",
582 { .pme_uname =
"LOCAL",
583 .pme_udesc =
"Cycles QHL Local Tracker Allocate to Deallocate Read Occupancy",
589 { .pme_name =
"UNC_QHL_REQUESTS",
590 .pme_desc =
"Quickpath Home Logic local read requests",
594 { .pme_uname =
"LOCAL_READS",
595 .pme_udesc =
"Quickpath Home Logic local read requests",
598 { .pme_uname =
"LOCAL_WRITES",
599 .pme_udesc =
"Quickpath Home Logic local write requests",
602 { .pme_uname =
"REMOTE_READS",
603 .pme_udesc =
"Quickpath Home Logic remote read requests",
606 { .pme_uname =
"IOH_READS",
607 .pme_udesc =
"Quickpath Home Logic IOH read requests",
610 { .pme_uname =
"IOH_WRITES",
611 .pme_udesc =
"Quickpath Home Logic IOH write requests",
614 { .pme_uname =
"REMOTE_WRITES",
615 .pme_udesc =
"Quickpath Home Logic remote write requests",
621 { .pme_name =
"UNC_QHL_TO_QMC_BYPASS",
622 .pme_desc =
"Number of requests to QMC that bypass QHL",
626 { .pme_name =
"UNC_QMC_BUSY",
627 .pme_desc =
"Cycles QMC busy with a read request",
631 { .pme_uname =
"READ_CH0",
632 .pme_udesc =
"Cycles QMC channel 0 busy with a read request",
635 { .pme_uname =
"READ_CH1",
636 .pme_udesc =
"Cycles QMC channel 1 busy with a read request",
639 { .pme_uname =
"READ_CH2",
640 .pme_udesc =
"Cycles QMC channel 2 busy with a read request",
643 { .pme_uname =
"WRITE_CH0",
644 .pme_udesc =
"Cycles QMC channel 0 busy with a write request",
647 { .pme_uname =
"WRITE_CH1",
648 .pme_udesc =
"Cycles QMC channel 1 busy with a write request",
651 { .pme_uname =
"WRITE_CH2",
652 .pme_udesc =
"Cycles QMC channel 2 busy with a write request",
658 { .pme_name =
"UNC_QMC_CANCEL",
659 .pme_desc =
"QMC cancels",
663 { .pme_uname =
"CH0",
664 .pme_udesc =
"QMC channel 0 cancels",
667 { .pme_uname =
"CH1",
668 .pme_udesc =
"QMC channel 1 cancels",
671 { .pme_uname =
"CH2",
672 .pme_udesc =
"QMC channel 2 cancels",
675 { .pme_uname =
"ANY",
676 .pme_udesc =
"QMC cancels",
682 { .pme_name =
"UNC_QMC_CRITICAL_PRIORITY_READS",
683 .pme_desc =
"QMC critical priority read requests",
687 { .pme_uname =
"CH0",
688 .pme_udesc =
"QMC channel 0 critical priority read requests",
691 { .pme_uname =
"CH1",
692 .pme_udesc =
"QMC channel 1 critical priority read requests",
695 { .pme_uname =
"CH2",
696 .pme_udesc =
"QMC channel 2 critical priority read requests",
699 { .pme_uname =
"ANY",
700 .pme_udesc =
"QMC critical priority read requests",
706 { .pme_name =
"UNC_QMC_HIGH_PRIORITY_READS",
707 .pme_desc =
"QMC high priority read requests",
711 { .pme_uname =
"CH0",
712 .pme_udesc =
"QMC channel 0 high priority read requests",
715 { .pme_uname =
"CH1",
716 .pme_udesc =
"QMC channel 1 high priority read requests",
719 { .pme_uname =
"CH2",
720 .pme_udesc =
"QMC channel 2 high priority read requests",
723 { .pme_uname =
"ANY",
724 .pme_udesc =
"QMC high priority read requests",
730 { .pme_name =
"UNC_QMC_ISOC_FULL",
731 .pme_desc =
"Cycles DRAM full with isochronous (ISOC) read requests",
735 { .pme_uname =
"READ_CH0",
736 .pme_udesc =
"Cycles DRAM channel 0 full with isochronous read requests",
739 { .pme_uname =
"READ_CH1",
740 .pme_udesc =
"Cycles DRAM channel 1 full with isochronous read requests",
743 { .pme_uname =
"READ_CH2",
744 .pme_udesc =
"Cycles DRAM channel 2 full with isochronous read requests",
747 { .pme_uname =
"WRITE_CH0",
748 .pme_udesc =
"Cycles DRAM channel 0 full with isochronous write requests",
751 { .pme_uname =
"WRITE_CH1",
752 .pme_udesc =
"Cycles DRAM channel 1 full with isochronous write requests",
755 { .pme_uname =
"WRITE_CH2",
756 .pme_udesc =
"Cycles DRAM channel 2 full with isochronous write requests",
762 { .pme_name =
"UNC_IMC_ISOC_OCCUPANCY",
763 .pme_desc =
"IMC isochronous (ISOC) Read Occupancy",
767 { .pme_uname =
"CH0",
768 .pme_udesc =
"IMC channel 0 isochronous read request occupancy",
771 { .pme_uname =
"CH1",
772 .pme_udesc =
"IMC channel 1 isochronous read request occupancy",
775 { .pme_uname =
"CH2",
776 .pme_udesc =
"IMC channel 2 isochronous read request occupancy",
779 { .pme_uname =
"ANY",
780 .pme_udesc =
"IMC isochronous read request occupancy",
786 { .pme_name =
"UNC_QMC_NORMAL_READS",
787 .pme_desc =
"QMC normal read requests",
791 { .pme_uname =
"CH0",
792 .pme_udesc =
"QMC channel 0 normal read requests",
795 { .pme_uname =
"CH1",
796 .pme_udesc =
"QMC channel 1 normal read requests",
799 { .pme_uname =
"CH2",
800 .pme_udesc =
"QMC channel 2 normal read requests",
803 { .pme_uname =
"ANY",
804 .pme_udesc =
"QMC normal read requests",
810 { .pme_name =
"UNC_QMC_OCCUPANCY",
811 .pme_desc =
"QMC Occupancy",
815 { .pme_uname =
"CH0",
816 .pme_udesc =
"IMC channel 0 normal read request occupancy",
819 { .pme_uname =
"CH1",
820 .pme_udesc =
"IMC channel 1 normal read request occupancy",
823 { .pme_uname =
"CH2",
824 .pme_udesc =
"IMC channel 2 normal read request occupancy",
830 { .pme_name =
"UNC_QMC_PRIORITY_UPDATES",
831 .pme_desc =
"QMC priority updates",
835 { .pme_uname =
"CH0",
836 .pme_udesc =
"QMC channel 0 priority updates",
839 { .pme_uname =
"CH1",
840 .pme_udesc =
"QMC channel 1 priority updates",
843 { .pme_uname =
"CH2",
844 .pme_udesc =
"QMC channel 2 priority updates",
847 { .pme_uname =
"ANY",
848 .pme_udesc =
"QMC priority updates",
854 { .pme_name =
"UNC_IMC_RETRY",
855 .pme_desc =
"Number of IMC DRAM channel retries (retries occur in RAS mode only)",
859 { .pme_uname =
"CH0",
860 .pme_udesc =
"channel 0",
863 { .pme_uname =
"CH1",
864 .pme_udesc =
"channel 1",
867 { .pme_uname =
"CH2",
868 .pme_udesc =
"channel 2",
871 { .pme_uname =
"ANY",
872 .pme_udesc =
"any channel",
878 { .pme_name =
"UNC_QMC_WRITES",
879 .pme_desc =
"QMC cache line writes",
883 { .pme_uname =
"FULL_CH0",
884 .pme_udesc =
"QMC channel 0 full cache line writes",
887 { .pme_uname =
"FULL_CH1",
888 .pme_udesc =
"QMC channel 1 full cache line writes",
891 { .pme_uname =
"FULL_CH2",
892 .pme_udesc =
"QMC channel 2 full cache line writes",
895 { .pme_uname =
"FULL_ANY",
896 .pme_udesc =
"QMC full cache line writes",
899 { .pme_uname =
"PARTIAL_CH0",
900 .pme_udesc =
"QMC channel 0 partial cache line writes",
903 { .pme_uname =
"PARTIAL_CH1",
904 .pme_udesc =
"QMC channel 1 partial cache line writes",
907 { .pme_uname =
"PARTIAL_CH2",
908 .pme_udesc =
"QMC channel 2 partial cache line writes",
911 { .pme_uname =
"PARTIAL_ANY",
912 .pme_udesc =
"QMC partial cache line writes",
918 { .pme_name =
"UNC_QPI_RX_NO_PPT_CREDIT",
919 .pme_desc =
"Link 0 snoop stalls due to no PPT entry",
923 { .pme_uname =
"STALLS_LINK_0",
924 .pme_udesc =
"Link 0 snoop stalls due to no PPT entry",
927 { .pme_uname =
"STALLS_LINK_1",
928 .pme_udesc =
"Link 1 snoop stalls due to no PPT entry",
934 { .pme_name =
"UNC_QPI_TX_HEADER",
935 .pme_desc =
"Cycles link 0 outbound header busy",
939 { .pme_uname =
"BUSY_LINK_0",
940 .pme_udesc =
"Cycles link 0 outbound header busy",
943 { .pme_uname =
"BUSY_LINK_1",
944 .pme_udesc =
"Cycles link 1 outbound header busy",
950 { .pme_name =
"UNC_QPI_TX_STALLED_MULTI_FLIT",
951 .pme_desc =
"Cycles QPI outbound stalls",
955 { .pme_uname =
"DRS_LINK_0",
956 .pme_udesc =
"Cycles QPI outbound link 0 DRS stalled",
959 { .pme_uname =
"NCB_LINK_0",
960 .pme_udesc =
"Cycles QPI outbound link 0 NCB stalled",
963 { .pme_uname =
"NCS_LINK_0",
964 .pme_udesc =
"Cycles QPI outbound link 0 NCS stalled",
967 { .pme_uname =
"DRS_LINK_1",
968 .pme_udesc =
"Cycles QPI outbound link 1 DRS stalled",
971 { .pme_uname =
"NCB_LINK_1",
972 .pme_udesc =
"Cycles QPI outbound link 1 NCB stalled",
975 { .pme_uname =
"NCS_LINK_1",
976 .pme_udesc =
"Cycles QPI outbound link 1 NCS stalled",
979 { .pme_uname =
"LINK_0",
980 .pme_udesc =
"Cycles QPI outbound link 0 multi flit stalled",
983 { .pme_uname =
"LINK_1",
984 .pme_udesc =
"Cycles QPI outbound link 1 multi flit stalled",
990 { .pme_name =
"UNC_QPI_TX_STALLED_SINGLE_FLIT",
991 .pme_desc =
"Cycles QPI outbound link stalls",
995 { .pme_uname =
"HOME_LINK_0",
996 .pme_udesc =
"Cycles QPI outbound link 0 HOME stalled",
999 { .pme_uname =
"SNOOP_LINK_0",
1000 .pme_udesc =
"Cycles QPI outbound link 0 SNOOP stalled",
1003 { .pme_uname =
"NDR_LINK_0",
1004 .pme_udesc =
"Cycles QPI outbound link 0 NDR stalled",
1007 { .pme_uname =
"HOME_LINK_1",
1008 .pme_udesc =
"Cycles QPI outbound link 1 HOME stalled",
1011 { .pme_uname =
"SNOOP_LINK_1",
1012 .pme_udesc =
"Cycles QPI outbound link 1 SNOOP stalled",
1015 { .pme_uname =
"NDR_LINK_1",
1016 .pme_udesc =
"Cycles QPI outbound link 1 NDR stalled",
1019 { .pme_uname =
"LINK_0",
1020 .pme_udesc =
"Cycles QPI outbound link 0 single flit stalled",
1023 { .pme_uname =
"LINK_1",
1024 .pme_udesc =
"Cycles QPI outbound link 1 single flit stalled",
1030 { .pme_name =
"UNC_SNP_RESP_TO_LOCAL_HOME",
1031 .pme_desc =
"Local home snoop response",
1035 { .pme_uname =
"I_STATE",
1036 .pme_udesc =
"Local home snoop response - LLC does not have cache line",
1039 { .pme_uname =
"S_STATE",
1040 .pme_udesc =
"Local home snoop response - LLC has cache line in S state",
1043 { .pme_uname =
"FWD_S_STATE",
1044 .pme_udesc =
"Local home snoop response - LLC forwarding cache line in S state.",
1047 { .pme_uname =
"FWD_I_STATE",
1048 .pme_udesc =
"Local home snoop response - LLC has forwarded a modified cache line",
1051 { .pme_uname =
"CONFLICT",
1052 .pme_udesc =
"Local home conflict snoop response",
1055 { .pme_uname =
"WB",
1056 .pme_udesc =
"Local home snoop response - LLC has cache line in the M state",
1062 { .pme_name =
"UNC_SNP_RESP_TO_REMOTE_HOME",
1063 .pme_desc =
"Remote home snoop response",
1067 { .pme_uname =
"I_STATE",
1068 .pme_udesc =
"Remote home snoop response - LLC does not have cache line",
1071 { .pme_uname =
"S_STATE",
1072 .pme_udesc =
"Remote home snoop response - LLC has cache line in S state",
1075 { .pme_uname =
"FWD_S_STATE",
1076 .pme_udesc =
"Remote home snoop response - LLC forwarding cache line in S state.",
1079 { .pme_uname =
"FWD_I_STATE",
1080 .pme_udesc =
"Remote home snoop response - LLC has forwarded a modified cache line",
1083 { .pme_uname =
"CONFLICT",
1084 .pme_udesc =
"Remote home conflict snoop response",
1087 { .pme_uname =
"WB",
1088 .pme_udesc =
"Remote home snoop response - LLC has cache line in the M state",
1091 { .pme_uname =
"HITM",
1092 .pme_udesc =
"Remote home snoop response - LLC HITM",
1098 { .pme_name =
"UNC_THERMAL_THROTTLING_TEMP",
1099 .pme_desc =
"uncore cycles that the PCU records core temperature above threshold",
1103 { .pme_uname =
"CORE_0",
1104 .pme_udesc =
"Core 0",
1107 { .pme_uname =
"CORE_1",
1108 .pme_udesc =
"Core 1",
1111 { .pme_uname =
"CORE_2",
1112 .pme_udesc =
"Core 2",
1115 { .pme_uname =
"CORE_3",
1116 .pme_udesc =
"Core 3",
1122 { .pme_name =
"UNC_THERMAL_THROTTLED_TEMP",
1123 .pme_desc =
"uncore cycles that the PCU records that core is in power throttled state due to temperature being above threshold",
1127 { .pme_uname =
"CORE_0",
1128 .pme_udesc =
"Core 0",
1131 { .pme_uname =
"CORE_1",
1132 .pme_udesc =
"Core 1",
1135 { .pme_uname =
"CORE_2",
1136 .pme_udesc =
"Core 2",
1139 { .pme_uname =
"CORE_3",
1140 .pme_udesc =
"Core 3",
1146 { .pme_name =
"UNC_PROCHOT_ASSERTION",
1147 .pme_desc =
"Number of system ssertions of PROCHOT indicating the entire processor has exceeded the thermal limit",
1150 { .pme_name =
"UNC_THERMAL_THROTTLING_PROCHOT",
1151 .pme_desc =
"uncore cycles that the PCU records that core is in power throttled state due PROCHOT assertions",
1155 { .pme_uname =
"CORE_0",
1156 .pme_udesc =
"Core 0",
1159 { .pme_uname =
"CORE_1",
1160 .pme_udesc =
"Core 1",
1163 { .pme_uname =
"CORE_2",
1164 .pme_udesc =
"Core 2",
1167 { .pme_uname =
"CORE_3",
1168 .pme_udesc =
"Core 3",
1174 { .pme_name =
"UNC_TURBO_MODE",
1175 .pme_desc =
"uncore cycles that a core is operating in turbo mode",
1179 { .pme_uname =
"CORE_0",
1180 .pme_udesc =
"Core 0",
1183 { .pme_uname =
"CORE_1",
1184 .pme_udesc =
"Core 1",
1187 { .pme_uname =
"CORE_2",
1188 .pme_udesc =
"Core 2",
1191 { .pme_uname =
"CORE_3",
1192 .pme_udesc =
"Core 3",
1198 { .pme_name =
"UNC_CYCLES_UNHALTED_L3_FLL_ENABLE",
1199 .pme_desc =
"uncore cycles where at least one core is unhalted and all L3 ways are enabled",
1202 { .pme_name =
"UNC_CYCLES_UNHALTED_L3_FLL_DISABLE",
1203 .pme_desc =
"uncore cycles where at least one core is unhalted and all L3 ways are disabled",
1207#define PME_INTEL_WSM_UNC_CYCLE 0
1208#define PME_WSM_UNC_EVENT_COUNT (sizeof(intel_wsm_unc_pe)/sizeof(pme_nhm_entry_t))
static pme_nhm_entry_t intel_wsm_unc_pe[]
#define PFMLIB_NHM_UNC_FIXED