51 .pme_desc =
"Dispatched FPU Operations",
55 { .pme_uname =
"OPS_ADD",
56 .pme_udesc =
"Add pipe ops excluding load ops and SSE move ops",
59 { .pme_uname =
"OPS_MULTIPLY",
60 .pme_udesc =
"Multiply pipe ops excluding load ops and SSE move ops",
63 { .pme_uname =
"OPS_STORE",
64 .pme_udesc =
"Store pipe ops excluding load ops and SSE move ops",
67 { .pme_uname =
"OPS_ADD_PIPE_LOAD_OPS",
68 .pme_udesc =
"Add pipe load ops and SSE move ops",
71 { .pme_uname =
"OPS_MULTIPLY_PIPE_LOAD_OPS",
72 .pme_udesc =
"Multiply pipe load ops and SSE move ops",
75 { .pme_uname =
"OPS_STORE_PIPE_LOAD_OPS",
76 .pme_udesc =
"Store pipe load ops and SSE move ops",
80 .pme_udesc =
"All sub-events selected",
85{.pme_name =
"CYCLES_NO_FPU_OPS_RETIRED",
87 .pme_desc =
"Cycles in which the FPU is Empty",
89{.pme_name =
"DISPATCHED_FPU_OPS_FAST_FLAG",
91 .pme_desc =
"Dispatched Fast Flag FPU Operations",
93{.pme_name =
"RETIRED_SSE_OPERATIONS",
95 .pme_desc =
"Retired SSE Operations",
99 { .pme_uname =
"SINGLE_ADD_SUB_OPS",
100 .pme_udesc =
"Single precision add/subtract ops",
103 { .pme_uname =
"SINGLE_MUL_OPS",
104 .pme_udesc =
"Single precision multiply ops",
107 { .pme_uname =
"SINGLE_DIV_OPS",
108 .pme_udesc =
"Single precision divide/square root ops",
111 { .pme_uname =
"DOUBLE_ADD_SUB_OPS",
112 .pme_udesc =
"Double precision add/subtract ops",
115 { .pme_uname =
"DOUBLE_MUL_OPS",
116 .pme_udesc =
"Double precision multiply ops",
119 { .pme_uname =
"DOUBLE_DIV_OPS",
120 .pme_udesc =
"Double precision divide/square root ops",
123 { .pme_uname =
"OP_TYPE",
124 .pme_udesc =
"Op type: 0=uops. 1=FLOPS",
127 { .pme_uname =
"ALL",
128 .pme_udesc =
"All sub-events selected",
133{.pme_name =
"RETIRED_MOVE_OPS",
135 .pme_desc =
"Retired Move Ops",
139 { .pme_uname =
"LOW_QW_MOVE_UOPS",
140 .pme_udesc =
"Merging low quadword move uops",
143 { .pme_uname =
"HIGH_QW_MOVE_UOPS",
144 .pme_udesc =
"Merging high quadword move uops",
147 { .pme_uname =
"ALL_OTHER_MERGING_MOVE_UOPS",
148 .pme_udesc =
"All other merging move uops",
151 { .pme_uname =
"ALL_OTHER_MOVE_UOPS",
152 .pme_udesc =
"All other move uops",
155 { .pme_uname =
"ALL",
156 .pme_udesc =
"All sub-events selected",
161{.pme_name =
"RETIRED_SERIALIZING_OPS",
163 .pme_desc =
"Retired Serializing Ops",
167 { .pme_uname =
"SSE_BOTTOM_EXECUTING_UOPS",
168 .pme_udesc =
"SSE bottom-executing uops retired",
171 { .pme_uname =
"SSE_BOTTOM_SERIALIZING_UOPS",
172 .pme_udesc =
"SSE bottom-serializing uops retired",
175 { .pme_uname =
"X87_BOTTOM_EXECUTING_UOPS",
176 .pme_udesc =
"x87 bottom-executing uops retired",
179 { .pme_uname =
"X87_BOTTOM_SERIALIZING_UOPS",
180 .pme_udesc =
"x87 bottom-serializing uops retired",
183 { .pme_uname =
"ALL",
184 .pme_udesc =
"All sub-events selected",
189{.pme_name =
"FP_SCHEDULER_CYCLES",
191 .pme_desc =
"Number of Cycles that a Serializing uop is in the FP Scheduler",
195 { .pme_uname =
"BOTTOM_EXECUTE_CYCLES",
196 .pme_udesc =
"Number of cycles a bottom-execute uop is in the FP scheduler",
199 { .pme_uname =
"BOTTOM_SERIALIZING_CYCLES",
200 .pme_udesc =
"Number of cycles a bottom-serializing uop is in the FP scheduler",
203 { .pme_uname =
"ALL",
204 .pme_udesc =
"All sub-events selected",
209{.pme_name =
"SEGMENT_REGISTER_LOADS",
211 .pme_desc =
"Segment Register Loads",
243 { .pme_uname =
"ALL",
244 .pme_udesc =
"All sub-events selected",
249{.pme_name =
"PIPELINE_RESTART_DUE_TO_SELF_MODIFYING_CODE",
251 .pme_desc =
"Pipeline Restart Due to Self-Modifying Code",
253{.pme_name =
"PIPELINE_RESTART_DUE_TO_PROBE_HIT",
255 .pme_desc =
"Pipeline Restart Due to Probe Hit",
257{.pme_name =
"LS_BUFFER_2_FULL_CYCLES",
259 .pme_desc =
"LS Buffer 2 Full",
261{.pme_name =
"LOCKED_OPS",
263 .pme_desc =
"Locked Operations",
267 { .pme_uname =
"EXECUTED",
268 .pme_udesc =
"The number of locked instructions executed",
271 { .pme_uname =
"CYCLES_SPECULATIVE_PHASE",
272 .pme_udesc =
"The number of cycles spent in speculative phase",
275 { .pme_uname =
"CYCLES_NON_SPECULATIVE_PHASE",
276 .pme_udesc =
"The number of cycles spent in non-speculative phase (including cache miss penalty)",
279 { .pme_uname =
"CYCLES_WAITING",
280 .pme_udesc =
"The number of cycles waiting for a cache hit (cache miss penalty).",
283 { .pme_uname =
"ALL",
284 .pme_udesc =
"All sub-events selected",
289{.pme_name =
"RETIRED_CLFLUSH_INSTRUCTIONS",
291 .pme_desc =
"Retired CLFLUSH Instructions",
293{.pme_name =
"RETIRED_CPUID_INSTRUCTIONS",
295 .pme_desc =
"Retired CPUID Instructions",
297{.pme_name =
"CANCELLED_STORE_TO_LOAD_FORWARD_OPERATIONS",
299 .pme_desc =
"Cancelled Store to Load Forward Operations",
303 { .pme_uname =
"ADDRESS_MISMATCHES",
304 .pme_udesc =
"Address mismatches (starting byte not the same).",
307 { .pme_uname =
"STORE_IS_SMALLER_THAN_LOAD",
308 .pme_udesc =
"Store is smaller than load.",
311 { .pme_uname =
"MISALIGNED",
312 .pme_udesc =
"Misaligned.",
315 { .pme_uname =
"ALL",
316 .pme_udesc =
"All sub-events selected",
321{.pme_name =
"SMIS_RECEIVED",
323 .pme_desc =
"SMIs Received",
325{.pme_name =
"DATA_CACHE_ACCESSES",
327 .pme_desc =
"Data Cache Accesses",
329{.pme_name =
"DATA_CACHE_MISSES",
331 .pme_desc =
"Data Cache Misses",
333{.pme_name =
"DATA_CACHE_REFILLS",
335 .pme_desc =
"Data Cache Refills from L2 or Northbridge",
339 { .pme_uname =
"SYSTEM",
340 .pme_udesc =
"Refill from the Northbridge",
343 { .pme_uname =
"L2_SHARED",
344 .pme_udesc =
"Shared-state line from L2",
347 { .pme_uname =
"L2_EXCLUSIVE",
348 .pme_udesc =
"Exclusive-state line from L2",
351 { .pme_uname =
"L2_OWNED",
352 .pme_udesc =
"Owned-state line from L2",
355 { .pme_uname =
"L2_MODIFIED",
356 .pme_udesc =
"Modified-state line from L2",
359 { .pme_uname =
"ALL",
360 .pme_udesc =
"All sub-events selected",
365{.pme_name =
"DATA_CACHE_REFILLS_FROM_SYSTEM",
367 .pme_desc =
"Data Cache Refills from the Northbridge",
371 { .pme_uname =
"INVALID",
372 .pme_udesc =
"Invalid",
375 { .pme_uname =
"SHARED",
376 .pme_udesc =
"Shared",
379 { .pme_uname =
"EXCLUSIVE",
380 .pme_udesc =
"Exclusive",
383 { .pme_uname =
"OWNED",
384 .pme_udesc =
"Owned",
387 { .pme_uname =
"MODIFIED",
388 .pme_udesc =
"Modified",
391 { .pme_uname =
"ALL",
392 .pme_udesc =
"All sub-events selected",
397{.pme_name =
"DATA_CACHE_LINES_EVICTED",
399 .pme_desc =
"Data Cache Lines Evicted",
403 { .pme_uname =
"INVALID",
404 .pme_udesc =
"Invalid",
407 { .pme_uname =
"SHARED",
408 .pme_udesc =
"Shared",
411 { .pme_uname =
"EXCLUSIVE",
412 .pme_udesc =
"Exclusive",
415 { .pme_uname =
"OWNED",
416 .pme_udesc =
"Owned",
419 { .pme_uname =
"MODIFIED",
420 .pme_udesc =
"Modified",
423 { .pme_uname =
"BY_PREFETCHNTA",
424 .pme_udesc =
"Cache line evicted was brought into the cache with by a PrefetchNTA instruction.",
427 { .pme_uname =
"NOT_BY_PREFETCHNTA",
428 .pme_udesc =
"Cache line evicted was not brought into the cache with by a PrefetchNTA instruction.",
431 { .pme_uname =
"ALL",
432 .pme_udesc =
"All sub-events selected",
437{.pme_name =
"L1_DTLB_MISS_AND_L2_DTLB_HIT",
439 .pme_desc =
"L1 DTLB Miss and L2 DTLB Hit",
443 { .pme_uname =
"L2_4K_TLB_HIT",
444 .pme_udesc =
"L2 4K TLB hit",
447 { .pme_uname =
"L2_2M_TLB_HIT",
448 .pme_udesc =
"L2 2M TLB hit",
451 { .pme_uname =
"ALL",
452 .pme_udesc =
"All sub-events selected",
456 { .pme_uname =
"L2_1G_TLB_HIT",
457 .pme_udesc =
"L2 1G TLB hit",
461 { .pme_uname =
"ALL",
462 .pme_udesc =
"All sub-events selected",
468{.pme_name =
"L1_DTLB_AND_L2_DTLB_MISS",
470 .pme_desc =
"L1 DTLB and L2 DTLB Miss",
474 { .pme_uname =
"4K_TLB_RELOAD",
475 .pme_udesc =
"4K TLB reload",
478 { .pme_uname =
"2M_TLB_RELOAD",
479 .pme_udesc =
"2M TLB reload",
482 { .pme_uname =
"1G_TLB_RELOAD",
483 .pme_udesc =
"1G TLB reload",
486 { .pme_uname =
"ALL",
487 .pme_udesc =
"All sub-events selected",
492{.pme_name =
"MISALIGNED_ACCESSES",
494 .pme_desc =
"Misaligned Accesses",
496{.pme_name =
"MICROARCHITECTURAL_LATE_CANCEL_OF_AN_ACCESS",
498 .pme_desc =
"Microarchitectural Late Cancel of an Access",
500{.pme_name =
"MICROARCHITECTURAL_EARLY_CANCEL_OF_AN_ACCESS",
502 .pme_desc =
"Microarchitectural Early Cancel of an Access",
504{.pme_name =
"SCRUBBER_SINGLE_BIT_ECC_ERRORS",
506 .pme_desc =
"Single-bit ECC Errors Recorded by Scrubber",
510 { .pme_uname =
"SCRUBBER_ERROR",
511 .pme_udesc =
"Scrubber error",
514 { .pme_uname =
"PIGGYBACK_ERROR",
515 .pme_udesc =
"Piggyback scrubber errors",
518 { .pme_uname =
"LOAD_PIPE_ERROR",
519 .pme_udesc =
"Load pipe error",
522 { .pme_uname =
"STORE_WRITE_PIPE_ERROR",
523 .pme_udesc =
"Store write pipe error",
526 { .pme_uname =
"ALL",
527 .pme_udesc =
"All sub-events selected",
532{.pme_name =
"PREFETCH_INSTRUCTIONS_DISPATCHED",
534 .pme_desc =
"Prefetch Instructions Dispatched",
538 { .pme_uname =
"LOAD",
539 .pme_udesc =
"Load (Prefetch, PrefetchT0/T1/T2)",
542 { .pme_uname =
"STORE",
543 .pme_udesc =
"Store (PrefetchW)",
546 { .pme_uname =
"NTA",
547 .pme_udesc =
"NTA (PrefetchNTA)",
550 { .pme_uname =
"ALL",
551 .pme_udesc =
"All sub-events selected",
556{.pme_name =
"DCACHE_MISSES_BY_LOCKED_INSTRUCTIONS",
558 .pme_desc =
"DCACHE Misses by Locked Instructions",
562 { .pme_uname =
"DATA_CACHE_MISSES_BY_LOCKED_INSTRUCTIONS",
563 .pme_udesc =
"Data cache misses by locked instructions",
566 { .pme_uname =
"ALL",
567 .pme_udesc =
"All sub-events selected",
572{.pme_name =
"L1_DTLB_HIT",
574 .pme_desc =
"L1 DTLB Hit",
578 { .pme_uname =
"L1_4K_TLB_HIT",
579 .pme_udesc =
"L1 4K TLB hit",
582 { .pme_uname =
"L1_2M_TLB_HIT",
583 .pme_udesc =
"L1 2M TLB hit",
586 { .pme_uname =
"L1_1G_TLB_HIT",
587 .pme_udesc =
"L1 1G TLB hit",
590 { .pme_uname =
"ALL",
591 .pme_udesc =
"All sub-events selected",
596{.pme_name =
"INEFFECTIVE_SW_PREFETCHES",
598 .pme_desc =
"Ineffective Software Prefetches",
602 { .pme_uname =
"SW_PREFETCH_HIT_IN_L1",
603 .pme_udesc =
"Software prefetch hit in the L1.",
606 { .pme_uname =
"SW_PREFETCH_HIT_IN_L2",
607 .pme_udesc =
"Software prefetch hit in L2.",
610 { .pme_uname =
"ALL",
611 .pme_udesc =
"All sub-events selected",
616{.pme_name =
"GLOBAL_TLB_FLUSHES",
618 .pme_desc =
"Global TLB Flushes",
620{.pme_name =
"MEMORY_REQUESTS",
622 .pme_desc =
"Memory Requests by Type",
626 { .pme_uname =
"NON_CACHEABLE",
627 .pme_udesc =
"Requests to non-cacheable (UC) memory",
630 { .pme_uname =
"WRITE_COMBINING",
631 .pme_udesc =
"Requests to write-combining (WC) memory or WC buffer flushes to WB memory",
634 { .pme_uname =
"STREAMING_STORE",
635 .pme_udesc =
"Streaming store (SS) requests",
638 { .pme_uname =
"ALL",
639 .pme_udesc =
"All sub-events selected",
644{.pme_name =
"DATA_PREFETCHES",
646 .pme_desc =
"Data Prefetcher",
650 { .pme_uname =
"CANCELLED",
651 .pme_udesc =
"Cancelled prefetches",
654 { .pme_uname =
"ATTEMPTED",
655 .pme_udesc =
"Prefetch attempts",
658 { .pme_uname =
"ALL",
659 .pme_udesc =
"All sub-events selected",
664{.pme_name =
"SYSTEM_READ_RESPONSES",
666 .pme_desc =
"Northbridge Read Responses by Coherency State",
670 { .pme_uname =
"EXCLUSIVE",
671 .pme_udesc =
"Exclusive",
674 { .pme_uname =
"MODIFIED",
675 .pme_udesc =
"Modified",
678 { .pme_uname =
"SHARED",
679 .pme_udesc =
"Shared",
682 { .pme_uname =
"OWNED",
683 .pme_udesc =
"Owned",
686 { .pme_uname =
"DATA_ERROR",
687 .pme_udesc =
"Data Error",
690 { .pme_uname =
"ALL",
691 .pme_udesc =
"All sub-events selected",
696{.pme_name =
"QUADWORDS_WRITTEN_TO_SYSTEM",
698 .pme_desc =
"Octwords Written to System",
702 { .pme_uname =
"QUADWORD_WRITE_TRANSFER",
703 .pme_udesc =
"Octword write transfer",
706 { .pme_uname =
"ALL",
707 .pme_udesc =
"All sub-events selected",
712{.pme_name =
"CPU_CLK_UNHALTED",
714 .pme_desc =
"CPU Clocks not Halted",
716{.pme_name =
"REQUESTS_TO_L2",
718 .pme_desc =
"Requests to L2 Cache",
722 { .pme_uname =
"INSTRUCTIONS",
723 .pme_udesc =
"IC fill",
726 { .pme_uname =
"DATA",
727 .pme_udesc =
"DC fill",
730 { .pme_uname =
"TLB_WALK",
731 .pme_udesc =
"TLB fill (page table walks)",
734 { .pme_uname =
"SNOOP",
735 .pme_udesc =
"Tag snoop request",
738 { .pme_uname =
"CANCELLED",
739 .pme_udesc =
"Cancelled request",
742 { .pme_uname =
"HW_PREFETCH_FROM_DC",
743 .pme_udesc =
"Hardware prefetch from DC",
746 { .pme_uname =
"ALL",
747 .pme_udesc =
"All sub-events selected",
752{.pme_name =
"L2_CACHE_MISS",
754 .pme_desc =
"L2 Cache Misses",
758 { .pme_uname =
"INSTRUCTIONS",
759 .pme_udesc =
"IC fill",
762 { .pme_uname =
"DATA",
763 .pme_udesc =
"DC fill (includes possible replays, whereas EventSelect 041h does not)",
766 { .pme_uname =
"TLB_WALK",
767 .pme_udesc =
"TLB page table walk",
770 { .pme_uname =
"HW_PREFETCH_FROM_DC",
771 .pme_udesc =
"Hardware prefetch from DC",
774 { .pme_uname =
"ALL",
775 .pme_udesc =
"All sub-events selected",
780{.pme_name =
"L2_FILL_WRITEBACK",
782 .pme_desc =
"L2 Fill/Writeback",
786 { .pme_uname =
"L2_FILLS",
787 .pme_udesc =
"L2 fills (victims from L1 caches, TLB page table walks and data prefetches)",
790 { .pme_uname =
"L2_WRITEBACKS",
791 .pme_udesc =
"L2 Writebacks to system.",
794 { .pme_uname =
"ALL",
795 .pme_udesc =
"All sub-events selected",
800{.pme_name =
"INSTRUCTION_CACHE_FETCHES",
802 .pme_desc =
"Instruction Cache Fetches",
804{.pme_name =
"INSTRUCTION_CACHE_MISSES",
806 .pme_desc =
"Instruction Cache Misses",
808{.pme_name =
"INSTRUCTION_CACHE_REFILLS_FROM_L2",
810 .pme_desc =
"Instruction Cache Refills from L2",
812{.pme_name =
"INSTRUCTION_CACHE_REFILLS_FROM_SYSTEM",
814 .pme_desc =
"Instruction Cache Refills from System",
816{.pme_name =
"L1_ITLB_MISS_AND_L2_ITLB_HIT",
818 .pme_desc =
"L1 ITLB Miss and L2 ITLB Hit",
820{.pme_name =
"L1_ITLB_MISS_AND_L2_ITLB_MISS",
822 .pme_desc =
"L1 ITLB Miss and L2 ITLB Miss",
826 { .pme_uname =
"4K_PAGE_FETCHES",
827 .pme_udesc =
"Instruction fetches to a 4K page.",
830 { .pme_uname =
"2M_PAGE_FETCHES",
831 .pme_udesc =
"Instruction fetches to a 2M page.",
834 { .pme_uname =
"ALL",
835 .pme_udesc =
"All sub-events selected",
840{.pme_name =
"PIPELINE_RESTART_DUE_TO_INSTRUCTION_STREAM_PROBE",
842 .pme_desc =
"Pipeline Restart Due to Instruction Stream Probe",
844{.pme_name =
"INSTRUCTION_FETCH_STALL",
846 .pme_desc =
"Instruction Fetch Stall",
848{.pme_name =
"RETURN_STACK_HITS",
850 .pme_desc =
"Return Stack Hits",
852{.pme_name =
"RETURN_STACK_OVERFLOWS",
854 .pme_desc =
"Return Stack Overflows",
856{.pme_name =
"INSTRUCTION_CACHE_VICTIMS",
858 .pme_desc =
"Instruction Cache Victims",
860{.pme_name =
"INSTRUCTION_CACHE_LINES_INVALIDATED",
862 .pme_desc =
"Instruction Cache Lines Invalidated",
866 { .pme_uname =
"INVALIDATING_PROBE_NO_IN_FLIGHT",
867 .pme_udesc =
"Invalidating probe that did not hit any in-flight instructions.",
870 { .pme_uname =
"INVALIDATING_PROBE_ONE_OR_MORE_IN_FLIGHT",
871 .pme_udesc =
"Invalidating probe that hit one or more in-flight instructions.",
874 { .pme_uname =
"ALL",
875 .pme_udesc =
"All sub-events selected",
880{.pme_name =
"ITLB_RELOADS",
882 .pme_desc =
"ITLB Reloads",
884{.pme_name =
"ITLB_RELOADS_ABORTED",
886 .pme_desc =
"ITLB Reloads Aborted",
888{.pme_name =
"RETIRED_INSTRUCTIONS",
890 .pme_desc =
"Retired Instructions",
892{.pme_name =
"RETIRED_UOPS",
894 .pme_desc =
"Retired uops",
896{.pme_name =
"RETIRED_BRANCH_INSTRUCTIONS",
898 .pme_desc =
"Retired Branch Instructions",
900{.pme_name =
"RETIRED_MISPREDICTED_BRANCH_INSTRUCTIONS",
902 .pme_desc =
"Retired Mispredicted Branch Instructions",
904{.pme_name =
"RETIRED_TAKEN_BRANCH_INSTRUCTIONS",
906 .pme_desc =
"Retired Taken Branch Instructions",
908{.pme_name =
"RETIRED_TAKEN_BRANCH_INSTRUCTIONS_MISPREDICTED",
910 .pme_desc =
"Retired Taken Branch Instructions Mispredicted",
912{.pme_name =
"RETIRED_FAR_CONTROL_TRANSFERS",
914 .pme_desc =
"Retired Far Control Transfers",
916{.pme_name =
"RETIRED_BRANCH_RESYNCS",
918 .pme_desc =
"Retired Branch Resyncs",
920{.pme_name =
"RETIRED_NEAR_RETURNS",
922 .pme_desc =
"Retired Near Returns",
924{.pme_name =
"RETIRED_NEAR_RETURNS_MISPREDICTED",
926 .pme_desc =
"Retired Near Returns Mispredicted",
928{.pme_name =
"RETIRED_INDIRECT_BRANCHES_MISPREDICTED",
930 .pme_desc =
"Retired Indirect Branches Mispredicted",
932{.pme_name =
"RETIRED_MMX_AND_FP_INSTRUCTIONS",
934 .pme_desc =
"Retired MMX/FP Instructions",
938 { .pme_uname =
"X87",
939 .pme_udesc =
"x87 instructions",
942 { .pme_uname =
"MMX_AND_3DNOW",
943 .pme_udesc =
"MMX and 3DNow! instructions",
946 { .pme_uname =
"PACKED_SSE_AND_SSE2",
947 .pme_udesc =
"SSE instructions (SSE, SSE2, SSE3, and SSE4A)",
950 { .pme_uname =
"ALL",
951 .pme_udesc =
"All sub-events selected",
956{.pme_name =
"RETIRED_FASTPATH_DOUBLE_OP_INSTRUCTIONS",
958 .pme_desc =
"Retired Fastpath Double Op Instructions",
962 { .pme_uname =
"POSITION_0",
963 .pme_udesc =
"With low op in position 0",
966 { .pme_uname =
"POSITION_1",
967 .pme_udesc =
"With low op in position 1",
970 { .pme_uname =
"POSITION_2",
971 .pme_udesc =
"With low op in position 2",
974 { .pme_uname =
"ALL",
975 .pme_udesc =
"All sub-events selected",
980{.pme_name =
"INTERRUPTS_MASKED_CYCLES",
982 .pme_desc =
"Interrupts-Masked Cycles",
984{.pme_name =
"INTERRUPTS_MASKED_CYCLES_WITH_INTERRUPT_PENDING",
986 .pme_desc =
"Interrupts-Masked Cycles with Interrupt Pending",
988{.pme_name =
"INTERRUPTS_TAKEN",
990 .pme_desc =
"Interrupts Taken",
992{.pme_name =
"DECODER_EMPTY",
994 .pme_desc =
"Decoder Empty",
996{.pme_name =
"DISPATCH_STALLS",
998 .pme_desc =
"Dispatch Stalls",
1000{.pme_name =
"DISPATCH_STALL_FOR_BRANCH_ABORT",
1002 .pme_desc =
"Dispatch Stall for Branch Abort to Retire",
1004{.pme_name =
"DISPATCH_STALL_FOR_SERIALIZATION",
1006 .pme_desc =
"Dispatch Stall for Serialization",
1008{.pme_name =
"DISPATCH_STALL_FOR_SEGMENT_LOAD",
1010 .pme_desc =
"Dispatch Stall for Segment Load",
1012{.pme_name =
"DISPATCH_STALL_FOR_REORDER_BUFFER_FULL",
1014 .pme_desc =
"Dispatch Stall for Reorder Buffer Full",
1016{.pme_name =
"DISPATCH_STALL_FOR_RESERVATION_STATION_FULL",
1018 .pme_desc =
"Dispatch Stall for Reservation Station Full",
1020{.pme_name =
"DISPATCH_STALL_FOR_FPU_FULL",
1022 .pme_desc =
"Dispatch Stall for FPU Full",
1024{.pme_name =
"DISPATCH_STALL_FOR_LS_FULL",
1026 .pme_desc =
"Dispatch Stall for LS Full",
1028{.pme_name =
"DISPATCH_STALL_WAITING_FOR_ALL_QUIET",
1030 .pme_desc =
"Dispatch Stall Waiting for All Quiet",
1032{.pme_name =
"DISPATCH_STALL_FOR_FAR_TRANSFER_OR_RSYNC",
1034 .pme_desc =
"Dispatch Stall for Far Transfer or Resync to Retire",
1036{.pme_name =
"FPU_EXCEPTIONS",
1038 .pme_desc =
"FPU Exceptions",
1042 { .pme_uname =
"X87_RECLASS_MICROFAULTS",
1043 .pme_udesc =
"x87 reclass microfaults",
1046 { .pme_uname =
"SSE_RETYPE_MICROFAULTS",
1047 .pme_udesc =
"SSE retype microfaults",
1050 { .pme_uname =
"SSE_RECLASS_MICROFAULTS",
1051 .pme_udesc =
"SSE reclass microfaults",
1054 { .pme_uname =
"SSE_AND_X87_MICROTRAPS",
1055 .pme_udesc =
"SSE and x87 microtraps",
1058 { .pme_uname =
"ALL",
1059 .pme_udesc =
"All sub-events selected",
1064{.pme_name =
"DR0_BREAKPOINT_MATCHES",
1066 .pme_desc =
"DR0 Breakpoint Matches",
1068{.pme_name =
"DR1_BREAKPOINT_MATCHES",
1070 .pme_desc =
"DR1 Breakpoint Matches",
1072{.pme_name =
"DR2_BREAKPOINT_MATCHES",
1074 .pme_desc =
"DR2 Breakpoint Matches",
1076{.pme_name =
"DR3_BREAKPOINT_MATCHES",
1078 .pme_desc =
"DR3 Breakpoint Matches",
1080{.pme_name =
"DRAM_ACCESSES_PAGE",
1082 .pme_desc =
"DRAM Accesses",
1086 { .pme_uname =
"HIT",
1087 .pme_udesc =
"DCT0 Page hit",
1090 { .pme_uname =
"MISS",
1091 .pme_udesc =
"DCT0 Page Miss",
1094 { .pme_uname =
"CONFLICT",
1095 .pme_udesc =
"DCT0 Page Conflict",
1098 { .pme_uname =
"DCT1_PAGE_HIT",
1099 .pme_udesc =
"DCT1 Page hit",
1102 { .pme_uname =
"DCT1_PAGE_MISS",
1103 .pme_udesc =
"DCT1 Page Miss",
1106 { .pme_uname =
"DCT1_PAGE_CONFLICT",
1107 .pme_udesc =
"DCT1 Page Conflict",
1110 { .pme_uname =
"ALL",
1111 .pme_udesc =
"All sub-events selected",
1116{.pme_name =
"MEMORY_CONTROLLER_PAGE_TABLE_OVERFLOWS",
1118 .pme_desc =
"DRAM Controller Page Table Overflows",
1122 { .pme_uname =
"DCT0_PAGE_TABLE_OVERFLOW",
1123 .pme_udesc =
"DCT0 Page Table Overflow",
1126 { .pme_uname =
"DCT1_PAGE_TABLE_OVERFLOW",
1127 .pme_udesc =
"DCT1 Page Table Overflow",
1130 { .pme_uname =
"ALL",
1131 .pme_udesc =
"All sub-events selected",
1136{.pme_name =
"MEMORY_CONTROLLER_SLOT_MISSES",
1138 .pme_desc =
"Memory Controller DRAM Command Slots Missed",
1142 { .pme_uname =
"DCT0_COMMAND_SLOTS_MISSED",
1143 .pme_udesc =
"DCT0 Command Slots Missed",
1146 { .pme_uname =
"DCT1_COMMAND_SLOTS_MISSED",
1147 .pme_udesc =
"DCT1 Command Slots Missed",
1150 { .pme_uname =
"ALL",
1151 .pme_udesc =
"All sub-events selected",
1156{.pme_name =
"MEMORY_CONTROLLER_TURNAROUNDS",
1158 .pme_desc =
"Memory Controller Turnarounds",
1162 { .pme_uname =
"CHIP_SELECT",
1163 .pme_udesc =
"DCT0 DIMM (chip select) turnaround",
1166 { .pme_uname =
"READ_TO_WRITE",
1167 .pme_udesc =
"DCT0 Read to write turnaround",
1170 { .pme_uname =
"WRITE_TO_READ",
1171 .pme_udesc =
"DCT0 Write to read turnaround",
1174 { .pme_uname =
"DCT1_DIMM",
1175 .pme_udesc =
"DCT1 DIMM (chip select) turnaround",
1178 { .pme_uname =
"DCT1_READ_TO_WRITE_TURNAROUND",
1179 .pme_udesc =
"DCT1 Read to write turnaround",
1182 { .pme_uname =
"DCT1_WRITE_TO_READ_TURNAROUND",
1183 .pme_udesc =
"DCT1 Write to read turnaround",
1186 { .pme_uname =
"ALL",
1187 .pme_udesc =
"All sub-events selected",
1192{.pme_name =
"MEMORY_CONTROLLER_BYPASS",
1194 .pme_desc =
"Memory Controller Bypass Counter Saturation",
1198 { .pme_uname =
"HIGH_PRIORITY",
1199 .pme_udesc =
"Memory controller high priority bypass",
1202 { .pme_uname =
"LOW_PRIORITY",
1203 .pme_udesc =
"Memory controller medium priority bypass",
1206 { .pme_uname =
"DRAM_INTERFACE",
1207 .pme_udesc =
"DCT0 DCQ bypass",
1210 { .pme_uname =
"DRAM_QUEUE",
1211 .pme_udesc =
"DCT1 DCQ bypass",
1214 { .pme_uname =
"ALL",
1215 .pme_udesc =
"All sub-events selected",
1220{.pme_name =
"THERMAL_STATUS_AND_ECC_ERRORS",
1222 .pme_desc =
"Thermal Status",
1226 { .pme_uname =
"CLKS_DIE_TEMP_TOO_HIGH",
1227 .pme_udesc =
"Number of times the HTC trip point is crossed",
1230 { .pme_uname =
"CLKS_TEMP_THRESHOLD_EXCEEDED",
1231 .pme_udesc =
"Number of clocks when STC trip point active",
1234 { .pme_uname =
"STC_TRIP_POINTS_CROSSED",
1235 .pme_udesc =
"Number of times the STC trip point is crossed",
1238 { .pme_uname =
"CLOCKS_HTC_P_STATE_INACTIVE",
1239 .pme_udesc =
"Number of clocks HTC P-state is inactive.",
1242 { .pme_uname =
"CLOCKS_HTC_P_STATE_ACTIVE",
1243 .pme_udesc =
"Number of clocks HTC P-state is active",
1246 { .pme_uname =
"ALL",
1247 .pme_udesc =
"All sub-events selected",
1252{.pme_name =
"CPU_IO_REQUESTS_TO_MEMORY_IO",
1254 .pme_desc =
"CPU/IO Requests to Memory/IO",
1258 { .pme_uname =
"I_O_TO_I_O",
1259 .pme_udesc =
"IO to IO",
1262 { .pme_uname =
"I_O_TO_MEM",
1263 .pme_udesc =
"IO to Mem",
1266 { .pme_uname =
"CPU_TO_I_O",
1267 .pme_udesc =
"CPU to IO",
1270 { .pme_uname =
"CPU_TO_MEM",
1271 .pme_udesc =
"CPU to Mem",
1274 { .pme_uname =
"TO_REMOTE_NODE",
1275 .pme_udesc =
"To remote node",
1278 { .pme_uname =
"TO_LOCAL_NODE",
1279 .pme_udesc =
"To local node",
1282 { .pme_uname =
"FROM_REMOTE_NODE",
1283 .pme_udesc =
"From remote node",
1286 { .pme_uname =
"FROM_LOCAL_NODE",
1287 .pme_udesc =
"From local node",
1290 { .pme_uname =
"ALL",
1291 .pme_udesc =
"All sub-events selected",
1296{.pme_name =
"CACHE_BLOCK",
1298 .pme_desc =
"Cache Block Commands",
1302 { .pme_uname =
"VICTIM_WRITEBACK",
1303 .pme_udesc =
"Victim Block (Writeback)",
1306 { .pme_uname =
"DCACHE_LOAD_MISS",
1307 .pme_udesc =
"Read Block (Dcache load miss refill)",
1310 { .pme_uname =
"SHARED_ICACHE_REFILL",
1311 .pme_udesc =
"Read Block Shared (Icache refill)",
1314 { .pme_uname =
"READ_BLOCK_MODIFIED",
1315 .pme_udesc =
"Read Block Modified (Dcache store miss refill)",
1318 { .pme_uname =
"READ_TO_DIRTY",
1319 .pme_udesc =
"Change-to-Dirty (first store to clean block already in cache)",
1322 { .pme_uname =
"ALL",
1323 .pme_udesc =
"All sub-events selected",
1328{.pme_name =
"SIZED_COMMANDS",
1330 .pme_desc =
"Sized Commands",
1334 { .pme_uname =
"NON_POSTED_WRITE_BYTE",
1335 .pme_udesc =
"Non-Posted SzWr Byte (1-32 bytes) Legacy or mapped IO, typically 1-4 bytes",
1338 { .pme_uname =
"NON_POSTED_WRITE_DWORD",
1339 .pme_udesc =
"Non-Posted SzWr DW (1-16 dwords) Legacy or mapped IO, typically 1 DWORD",
1342 { .pme_uname =
"POSTED_WRITE_BYTE",
1343 .pme_udesc =
"Posted SzWr Byte (1-32 bytes) Sub-cache-line DMA writes, size varies; also flushes of partially-filled Write Combining buffer",
1346 { .pme_uname =
"POSTED_WRITE_DWORD",
1347 .pme_udesc =
"Posted SzWr DW (1-16 dwords) Block-oriented DMA writes, often cache-line sized; also processor Write Combining buffer flushes",
1350 { .pme_uname =
"READ_BYTE_4_BYTES",
1351 .pme_udesc =
"SzRd Byte (4 bytes) Legacy or mapped IO",
1354 { .pme_uname =
"READ_DWORD_1_16_DWORDS",
1355 .pme_udesc =
"SzRd DW (1-16 dwords) Block-oriented DMA reads, typically cache-line size",
1358 { .pme_uname =
"ALL",
1359 .pme_udesc =
"All sub-events selected",
1364{.pme_name =
"PROBE",
1366 .pme_desc =
"Probe Responses and Upstream Requests",
1370 { .pme_uname =
"MISS",
1371 .pme_udesc =
"Probe miss",
1374 { .pme_uname =
"HIT_CLEAN",
1375 .pme_udesc =
"Probe hit clean",
1378 { .pme_uname =
"HIT_DIRTY_NO_MEMORY_CANCEL",
1379 .pme_udesc =
"Probe hit dirty without memory cancel (probed by Sized Write or Change2Dirty)",
1382 { .pme_uname =
"HIT_DIRTY_WITH_MEMORY_CANCEL",
1383 .pme_udesc =
"Probe hit dirty with memory cancel (probed by DMA read or cache refill request)",
1386 { .pme_uname =
"UPSTREAM_DISPLAY_REFRESH_READS",
1387 .pme_udesc =
"Upstream display refresh/ISOC reads",
1390 { .pme_uname =
"UPSTREAM_NON_DISPLAY_REFRESH_READS",
1391 .pme_udesc =
"Upstream non-display refresh reads",
1394 { .pme_uname =
"UPSTREAM_WRITES",
1395 .pme_udesc =
"Upstream ISOC writes",
1398 { .pme_uname =
"UPSTREAM_NON_ISOC_WRITES",
1399 .pme_udesc =
"Upstream non-ISOC writes",
1402 { .pme_uname =
"ALL",
1403 .pme_udesc =
"All sub-events selected",
1410 .pme_desc =
"GART Events",
1414 { .pme_uname =
"APERTURE_HIT_FROM_CPU",
1415 .pme_udesc =
"GART aperture hit on access from CPU",
1418 { .pme_uname =
"APERTURE_HIT_FROM_IO",
1419 .pme_udesc =
"GART aperture hit on access from IO",
1422 { .pme_uname =
"MISS",
1423 .pme_udesc =
"GART miss",
1426 { .pme_uname =
"REQUEST_HIT_TABLE_WALK",
1427 .pme_udesc =
"GART/DEV Request hit table walk in progress",
1430 { .pme_uname =
"DEV_HIT",
1431 .pme_udesc =
"DEV hit",
1434 { .pme_uname =
"DEV_MISS",
1435 .pme_udesc =
"DEV miss",
1438 { .pme_uname =
"DEV_ERROR",
1439 .pme_udesc =
"DEV error",
1442 { .pme_uname =
"MULTIPLE_TABLE_WALK",
1443 .pme_udesc =
"GART/DEV multiple table walk in progress",
1446 { .pme_uname =
"ALL",
1447 .pme_udesc =
"All sub-events selected",
1452{.pme_name =
"MEMORY_CONTROLLER_REQUESTS",
1454 .pme_desc =
"Memory Controller Requests",
1458 { .pme_uname =
"WRITE_REQUESTS",
1459 .pme_udesc =
"Write requests sent to the DCT",
1462 { .pme_uname =
"READ_REQUESTS",
1463 .pme_udesc =
"Read requests (including prefetch requests) sent to the DCT",
1466 { .pme_uname =
"PREFETCH_REQUESTS",
1467 .pme_udesc =
"Prefetch requests sent to the DCT",
1470 { .pme_uname =
"32_BYTES_WRITES",
1471 .pme_udesc =
"32 Bytes Sized Writes",
1474 { .pme_uname =
"64_BYTES_WRITES",
1475 .pme_udesc =
"64 Bytes Sized Writes",
1478 { .pme_uname =
"32_BYTES_READS",
1479 .pme_udesc =
"32 Bytes Sized Reads",
1482 { .pme_uname =
"64_BYTES_READS",
1483 .pme_udesc =
"64 Byte Sized Reads",
1486 { .pme_uname =
"READ_REQUESTS_WHILE_WRITES_REQUESTS",
1487 .pme_udesc =
"Read requests sent to the DCT while writes requests are pending in the DCT",
1490 { .pme_uname =
"ALL",
1491 .pme_udesc =
"All sub-events selected",
1496{.pme_name =
"CPU_TO_DRAM_REQUESTS_TO_TARGET_NODE",
1498 .pme_desc =
"CPU to DRAM Requests to Target Node",
1502 { .pme_uname =
"LOCAL_TO_0",
1503 .pme_udesc =
"From Local node to Node 0",
1506 { .pme_uname =
"LOCAL_TO_1",
1507 .pme_udesc =
"From Local node to Node 1",
1510 { .pme_uname =
"LOCAL_TO_2",
1511 .pme_udesc =
"From Local node to Node 2",
1514 { .pme_uname =
"LOCAL_TO_3",
1515 .pme_udesc =
"From Local node to Node 3",
1518 { .pme_uname =
"LOCAL_TO_4",
1519 .pme_udesc =
"From Local node to Node 4",
1522 { .pme_uname =
"LOCAL_TO_5",
1523 .pme_udesc =
"From Local node to Node 5",
1526 { .pme_uname =
"LOCAL_TO_6",
1527 .pme_udesc =
"From Local node to Node 6",
1530 { .pme_uname =
"LOCAL_TO_7",
1531 .pme_udesc =
"From Local node to Node 7",
1534 { .pme_uname =
"ALL",
1535 .pme_udesc =
"All sub-events selected",
1540{.pme_name =
"IO_TO_DRAM_REQUESTS_TO_TARGET_NODE",
1542 .pme_desc =
"IO to DRAM Requests to Target Node",
1546 { .pme_uname =
"LOCAL_TO_0",
1547 .pme_udesc =
"From Local node to Node 0",
1550 { .pme_uname =
"LOCAL_TO_1",
1551 .pme_udesc =
"From Local node to Node 1",
1554 { .pme_uname =
"LOCAL_TO_2",
1555 .pme_udesc =
"From Local node to Node 2",
1558 { .pme_uname =
"LOCAL_TO_3",
1559 .pme_udesc =
"From Local node to Node 3",
1562 { .pme_uname =
"LOCAL_TO_4",
1563 .pme_udesc =
"From Local node to Node 4",
1566 { .pme_uname =
"LOCAL_TO_5",
1567 .pme_udesc =
"From Local node to Node 5",
1570 { .pme_uname =
"LOCAL_TO_6",
1571 .pme_udesc =
"From Local node to Node 6",
1574 { .pme_uname =
"LOCAL_TO_7",
1575 .pme_udesc =
"From Local node to Node 7",
1578 { .pme_uname =
"ALL",
1579 .pme_udesc =
"All sub-events selected",
1584{.pme_name =
"CPU_READ_COMMAND_LATENCY_TO_TARGET_NODE_0_3",
1586 .pme_desc =
"CPU Read Command Latency to Target Node 0-3",
1590 { .pme_uname =
"READ_BLOCK",
1591 .pme_udesc =
"Read block",
1594 { .pme_uname =
"READ_BLOCK_SHARED",
1595 .pme_udesc =
"Read block shared",
1598 { .pme_uname =
"READ_BLOCK_MODIFIED",
1599 .pme_udesc =
"Read block modified",
1602 { .pme_uname =
"CHANGE_TO_DIRTY",
1603 .pme_udesc =
"Change-to-Dirty",
1606 { .pme_uname =
"LOCAL_TO_0",
1607 .pme_udesc =
"From Local node to Node 0",
1610 { .pme_uname =
"LOCAL_TO_1",
1611 .pme_udesc =
"From Local node to Node 1",
1614 { .pme_uname =
"LOCAL_TO_2",
1615 .pme_udesc =
"From Local node to Node 2",
1618 { .pme_uname =
"LOCAL_TO_3",
1619 .pme_udesc =
"From Local node to Node 3",
1622 { .pme_uname =
"ALL",
1623 .pme_udesc =
"All sub-events selected",
1628{.pme_name =
"CPU_READ_COMMAND_REQUESTS_TO_TARGET_NODE_0_3",
1630 .pme_desc =
"CPU Read Command Requests to Target Node 0-3",
1634 { .pme_uname =
"READ_BLOCK",
1635 .pme_udesc =
"Read block",
1638 { .pme_uname =
"READ_BLOCK_SHARED",
1639 .pme_udesc =
"Read block shared",
1642 { .pme_uname =
"READ_BLOCK_MODIFIED",
1643 .pme_udesc =
"Read block modified",
1646 { .pme_uname =
"CHANGE_TO_DIRTY",
1647 .pme_udesc =
"Change-to-Dirty",
1650 { .pme_uname =
"LOCAL_TO_0",
1651 .pme_udesc =
"From Local node to Node 0",
1654 { .pme_uname =
"LOCAL_TO_1",
1655 .pme_udesc =
"From Local node to Node 1",
1658 { .pme_uname =
"LOCAL_TO_2",
1659 .pme_udesc =
"From Local node to Node 2",
1662 { .pme_uname =
"LOCAL_TO_3",
1663 .pme_udesc =
"From Local node to Node 3",
1666 { .pme_uname =
"ALL",
1667 .pme_udesc =
"All sub-events selected",
1672{.pme_name =
"CPU_READ_COMMAND_LATENCY_TO_TARGET_NODE_4_7",
1674 .pme_desc =
"CPU Read Command Latency to Target Node 4-7",
1678 { .pme_uname =
"READ_BLOCK",
1679 .pme_udesc =
"Read block",
1682 { .pme_uname =
"READ_BLOCK_SHARED",
1683 .pme_udesc =
"Read block shared",
1686 { .pme_uname =
"READ_BLOCK_MODIFIED",
1687 .pme_udesc =
"Read block modified",
1690 { .pme_uname =
"CHANGE_TO_DIRTY",
1691 .pme_udesc =
"Change-to-Dirty",
1694 { .pme_uname =
"LOCAL_TO_4",
1695 .pme_udesc =
"From Local node to Node 4",
1698 { .pme_uname =
"LOCAL_TO_5",
1699 .pme_udesc =
"From Local node to Node 5",
1702 { .pme_uname =
"LOCAL_TO_6",
1703 .pme_udesc =
"From Local node to Node 6",
1706 { .pme_uname =
"LOCAL_TO_7",
1707 .pme_udesc =
"From Local node to Node 7",
1710 { .pme_uname =
"ALL",
1711 .pme_udesc =
"All sub-events selected",
1716{.pme_name =
"CPU_READ_COMMAND_REQUESTS_TO_TARGET_NODE_4_7",
1718 .pme_desc =
"CPU Read Command Requests to Target Node 4-7",
1722 { .pme_uname =
"READ_BLOCK",
1723 .pme_udesc =
"Read block",
1726 { .pme_uname =
"READ_BLOCK_SHARED",
1727 .pme_udesc =
"Read block shared",
1730 { .pme_uname =
"READ_BLOCK_MODIFIED",
1731 .pme_udesc =
"Read block modified",
1734 { .pme_uname =
"CHANGE_TO_DIRTY",
1735 .pme_udesc =
"Change-to-Dirty",
1738 { .pme_uname =
"LOCAL_TO_4",
1739 .pme_udesc =
"From Local node to Node 4",
1742 { .pme_uname =
"LOCAL_TO_5",
1743 .pme_udesc =
"From Local node to Node 5",
1746 { .pme_uname =
"LOCAL_TO_6",
1747 .pme_udesc =
"From Local node to Node 6",
1750 { .pme_uname =
"LOCAL_TO_7",
1751 .pme_udesc =
"From Local node to Node 7",
1754 { .pme_uname =
"ALL",
1755 .pme_udesc =
"All sub-events selected",
1760{.pme_name =
"CPU_COMMAND_LATENCY_TO_TARGET_NODE_0_3_4_7",
1762 .pme_desc =
"CPU Command Latency to Target Node 0-3/4-7",
1766 { .pme_uname =
"READ_SIZED",
1767 .pme_udesc =
"Read Sized",
1770 { .pme_uname =
"WRITE_SIZED",
1771 .pme_udesc =
"Write Sized",
1774 { .pme_uname =
"VICTIM_BLOCK",
1775 .pme_udesc =
"Victim Block",
1778 { .pme_uname =
"NODE_GROUP_SELECT",
1779 .pme_udesc =
"Node Group Select. 0=Nodes 0-3. 1= Nodes 4-7.",
1782 { .pme_uname =
"LOCAL_TO_0_4",
1783 .pme_udesc =
"From Local node to Node 0/4",
1786 { .pme_uname =
"LOCAL_TO_1_5",
1787 .pme_udesc =
"From Local node to Node 1/5",
1790 { .pme_uname =
"LOCAL_TO_2_6",
1791 .pme_udesc =
"From Local node to Node 2/6",
1794 { .pme_uname =
"LOCAL_TO_3_7",
1795 .pme_udesc =
"From Local node to Node 3/7",
1798 { .pme_uname =
"ALL",
1799 .pme_udesc =
"All sub-events selected",
1804{.pme_name =
"CPU_REQUESTS_TO_TARGET_NODE_0_3_4_7",
1806 .pme_desc =
"CPU Requests to Target Node 0-3/4-7",
1810 { .pme_uname =
"READ_SIZED",
1811 .pme_udesc =
"Read Sized",
1814 { .pme_uname =
"WRITE_SIZED",
1815 .pme_udesc =
"Write Sized",
1818 { .pme_uname =
"VICTIM_BLOCK",
1819 .pme_udesc =
"Victim Block",
1822 { .pme_uname =
"NODE_GROUP_SELECT",
1823 .pme_udesc =
"Node Group Select. 0=Nodes 0-3. 1= Nodes 4-7.",
1826 { .pme_uname =
"LOCAL_TO_0_4",
1827 .pme_udesc =
"From Local node to Node 0/4",
1830 { .pme_uname =
"LOCAL_TO_1_5",
1831 .pme_udesc =
"From Local node to Node 1/5",
1834 { .pme_uname =
"LOCAL_TO_2_6",
1835 .pme_udesc =
"From Local node to Node 2/6",
1838 { .pme_uname =
"LOCAL_TO_3_7",
1839 .pme_udesc =
"From Local node to Node 3/7",
1842 { .pme_uname =
"ALL",
1843 .pme_udesc =
"All sub-events selected",
1848{.pme_name =
"HYPERTRANSPORT_LINK0",
1850 .pme_desc =
"HyperTransport Link 0 Transmit Bandwidth",
1854 { .pme_uname =
"COMMAND_DWORD_SENT",
1855 .pme_udesc =
"Command DWORD sent",
1858 { .pme_uname =
"DATA_DWORD_SENT",
1859 .pme_udesc =
"Data DWORD sent",
1862 { .pme_uname =
"BUFFER_RELEASE_DWORD_SENT",
1863 .pme_udesc =
"Buffer release DWORD sent",
1866 { .pme_uname =
"NOP_DWORD_SENT",
1867 .pme_udesc =
"Nop DW sent (idle)",
1870 { .pme_uname =
"ADDRESS_EXT_DWORD_SENT",
1871 .pme_udesc =
"Address extension DWORD sent",
1874 { .pme_uname =
"PER_PACKET_CRC_SENT",
1875 .pme_udesc =
"Per packet CRC sent",
1878 { .pme_uname =
"SUBLINK_MASK",
1879 .pme_udesc =
"SubLink Mask",
1882 { .pme_uname =
"ALL",
1883 .pme_udesc =
"All sub-events selected",
1888{.pme_name =
"HYPERTRANSPORT_LINK1",
1890 .pme_desc =
"HyperTransport Link 1 Transmit Bandwidth",
1894 { .pme_uname =
"COMMAND_DWORD_SENT",
1895 .pme_udesc =
"Command DWORD sent",
1898 { .pme_uname =
"DATA_DWORD_SENT",
1899 .pme_udesc =
"Data DWORD sent",
1902 { .pme_uname =
"BUFFER_RELEASE_DWORD_SENT",
1903 .pme_udesc =
"Buffer release DWORD sent",
1906 { .pme_uname =
"NOP_DWORD_SENT",
1907 .pme_udesc =
"Nop DW sent (idle)",
1910 { .pme_uname =
"ADDRESS_EXT_DWORD_SENT",
1911 .pme_udesc =
"Address extension DWORD sent",
1914 { .pme_uname =
"PER_PACKET_CRC_SENT",
1915 .pme_udesc =
"Per packet CRC sent",
1918 { .pme_uname =
"SUBLINK_MASK",
1919 .pme_udesc =
"SubLink Mask",
1922 { .pme_uname =
"ALL",
1923 .pme_udesc =
"All sub-events selected",
1928{.pme_name =
"HYPERTRANSPORT_LINK2",
1930 .pme_desc =
"HyperTransport Link 2 Transmit Bandwidth",
1934 { .pme_uname =
"COMMAND_DWORD_SENT",
1935 .pme_udesc =
"Command DWORD sent",
1938 { .pme_uname =
"DATA_DWORD_SENT",
1939 .pme_udesc =
"Data DWORD sent",
1942 { .pme_uname =
"BUFFER_RELEASE_DWORD_SENT",
1943 .pme_udesc =
"Buffer release DWORD sent",
1946 { .pme_uname =
"NOP_DWORD_SENT",
1947 .pme_udesc =
"Nop DW sent (idle)",
1950 { .pme_uname =
"ADDRESS_EXT_DWORD_SENT",
1951 .pme_udesc =
"Address extension DWORD sent",
1954 { .pme_uname =
"PER_PACKET_CRC_SENT",
1955 .pme_udesc =
"Per packet CRC sent",
1958 { .pme_uname =
"SUBLINK_MASK",
1959 .pme_udesc =
"SubLink Mask",
1962 { .pme_uname =
"ALL",
1963 .pme_udesc =
"All sub-events selected",
1968{.pme_name =
"HYPERTRANSPORT_LINK3",
1970 .pme_desc =
"HyperTransport Link 3 Transmit Bandwidth",
1974 { .pme_uname =
"COMMAND_DWORD_SENT",
1975 .pme_udesc =
"Command DWORD sent",
1978 { .pme_uname =
"DATA_DWORD_SENT",
1979 .pme_udesc =
"Data DWORD sent",
1982 { .pme_uname =
"BUFFER_RELEASE_DWORD_SENT",
1983 .pme_udesc =
"Buffer release DWORD sent",
1986 { .pme_uname =
"NOP_DWORD_SENT",
1987 .pme_udesc =
"Nop DW sent (idle)",
1990 { .pme_uname =
"ADDRESS_EXT_DWORD_SENT",
1991 .pme_udesc =
"Address DWORD sent",
1994 { .pme_uname =
"PER_PACKET_CRC_SENT",
1995 .pme_udesc =
"Per packet CRC sent",
1998 { .pme_uname =
"SUBLINK_MASK",
1999 .pme_udesc =
"SubLink Mask",
2002 { .pme_uname =
"ALL",
2003 .pme_udesc =
"All sub-events selected",
2008{.pme_name =
"READ_REQUEST_TO_L3_CACHE",
2010 .pme_desc =
"Read Request to L3 Cache",
2014 { .pme_uname =
"READ_BLOCK_EXCLUSIVE",
2015 .pme_udesc =
"Read Block Exclusive (Data cache read)",
2018 { .pme_uname =
"READ_BLOCK_SHARED",
2019 .pme_udesc =
"Read Block Shared (Instruction cache read)",
2022 { .pme_uname =
"READ_BLOCK_MODIFY",
2023 .pme_udesc =
"Read Block Modify",
2026 { .pme_uname =
"ANY_READ",
2027 .pme_udesc =
"any read modes (exclusive, shared, modify)",
2037 { .pme_uname =
"CORE_0_SELECT",
2038 .pme_udesc =
"Core 0 Select",
2041 { .pme_uname =
"CORE_1_SELECT",
2042 .pme_udesc =
"Core 1 Select",
2045 { .pme_uname =
"CORE_2_SELECT",
2046 .pme_udesc =
"Core 2 Select",
2049 { .pme_uname =
"CORE_3_SELECT",
2050 .pme_udesc =
"Core 3 Select",
2054 { .pme_uname =
"ALL_CORES",
2055 .pme_udesc =
"All cores",
2060{.pme_name =
"L3_CACHE_MISSES",
2062 .pme_desc =
"L3 Cache Misses",
2066 { .pme_uname =
"READ_BLOCK_EXCLUSIVE",
2067 .pme_udesc =
"Read Block Exclusive (Data cache read)",
2070 { .pme_uname =
"READ_BLOCK_SHARED",
2071 .pme_udesc =
"Read Block Shared (Instruction cache read)",
2074 { .pme_uname =
"READ_BLOCK_MODIFY",
2075 .pme_udesc =
"Read Block Modify",
2078 { .pme_uname =
"ANY_READ",
2079 .pme_udesc =
"any read modes (exclusive, shared, modify)",
2089 { .pme_uname =
"CORE_0_SELECT",
2090 .pme_udesc =
"Core 0 Select",
2093 { .pme_uname =
"CORE_1_SELECT",
2094 .pme_udesc =
"Core 1 Select",
2097 { .pme_uname =
"CORE_2_SELECT",
2098 .pme_udesc =
"Core 2 Select",
2101 { .pme_uname =
"CORE_3_SELECT",
2102 .pme_udesc =
"Core 3 Select",
2106 { .pme_uname =
"ALL_CORES",
2107 .pme_udesc =
"All cores",
2112{.pme_name =
"L3_FILLS_CAUSED_BY_L2_EVICTIONS",
2114 .pme_desc =
"L3 Fills caused by L2 Evictions",
2118 { .pme_uname =
"SHARED",
2119 .pme_udesc =
"Shared",
2122 { .pme_uname =
"EXCLUSIVE",
2123 .pme_udesc =
"Exclusive",
2126 { .pme_uname =
"OWNED",
2127 .pme_udesc =
"Owned",
2130 { .pme_uname =
"MODIFIED",
2131 .pme_udesc =
"Modified",
2134 { .pme_uname =
"ANY_STATE",
2135 .pme_udesc =
"any line state (shared, owned, exclusive, modified)",
2145 { .pme_uname =
"CORE_0_SELECT",
2146 .pme_udesc =
"Core 0 Select",
2149 { .pme_uname =
"CORE_1_SELECT",
2150 .pme_udesc =
"Core 1 Select",
2153 { .pme_uname =
"CORE_2_SELECT",
2154 .pme_udesc =
"Core 2 Select",
2157 { .pme_uname =
"CORE_3_SELECT",
2158 .pme_udesc =
"Core 3 Select",
2162 { .pme_uname =
"ALL_CORES",
2163 .pme_udesc =
"All cores",
2168{.pme_name =
"L3_EVICTIONS",
2170 .pme_desc =
"L3 Evictions",
2174 { .pme_uname =
"SHARED",
2175 .pme_udesc =
"Shared",
2178 { .pme_uname =
"EXCLUSIVE",
2179 .pme_udesc =
"Exclusive",
2182 { .pme_uname =
"OWNED",
2183 .pme_udesc =
"Owned",
2186 { .pme_uname =
"MODIFIED",
2187 .pme_udesc =
"Modified",
2190 { .pme_uname =
"ALL",
2191 .pme_udesc =
"All sub-events selected",
2199{.pme_name =
"PAGE_SIZE_MISMATCHES",
2201 .pme_desc =
"Page Size Mismatches",
2205 { .pme_uname =
"GUEST_LARGER",
2206 .pme_udesc =
"Guest page size is larger than the host page size.",
2209 { .pme_uname =
"MTRR_MISMATCH",
2210 .pme_udesc =
"MTRR mismatch.",
2213 { .pme_uname =
"HOST_LARGER",
2214 .pme_udesc =
"Host page size is larger than the guest page size.",
2217 { .pme_uname =
"ALL",
2218 .pme_udesc =
"All sub-events selected",
2223{.pme_name =
"RETIRED_X87_OPS",
2225 .pme_desc =
"Retired x87 Floating Point Operations",
2229 { .pme_uname =
"ADD_SUB_OPS",
2230 .pme_udesc =
"Add/subtract ops",
2233 { .pme_uname =
"MUL_OPS",
2234 .pme_udesc =
"Multiply ops",
2237 { .pme_uname =
"DIV_OPS",
2238 .pme_udesc =
"Divide ops",
2241 { .pme_uname =
"ALL",
2242 .pme_udesc =
"All sub-events selected",
2247{.pme_name =
"IBS_OPS_TAGGED",
2249 .pme_desc =
"IBS Ops Tagged",
2252{.pme_name =
"LFENCE_INST_RETIRED",
2254 .pme_desc =
"LFENCE Instructions Retired",
2257{.pme_name =
"SFENCE_INST_RETIRED",
2259 .pme_desc =
"SFENCE Instructions Retired",
2262{.pme_name =
"MFENCE_INST_RETIRED",
2264 .pme_desc =
"MFENCE Instructions Retired",
2270{.pme_name =
"READ_REQUEST_TO_L3_CACHE",
2272 .pme_desc =
"Read Request to L3 Cache",
2276 { .pme_uname =
"READ_BLOCK_EXCLUSIVE",
2277 .pme_udesc =
"Read Block Exclusive (Data cache read)",
2280 { .pme_uname =
"READ_BLOCK_SHARED",
2281 .pme_udesc =
"Read Block Shared (Instruction cache read)",
2284 { .pme_uname =
"READ_BLOCK_MODIFY",
2285 .pme_udesc =
"Read Block Modify",
2288 { .pme_uname =
"ANY_READ",
2289 .pme_udesc =
"any read modes (exclusive, shared, modify)",
2300 { .pme_uname =
"CORE_0_SELECT",
2301 .pme_udesc =
"Core 0 Select",
2304 { .pme_uname =
"CORE_1_SELECT",
2305 .pme_udesc =
"Core 1 Select",
2308 { .pme_uname =
"CORE_2_SELECT",
2309 .pme_udesc =
"Core 2 Select",
2312 { .pme_uname =
"CORE_3_SELECT",
2313 .pme_udesc =
"Core 3 Select",
2316 { .pme_uname =
"CORE_4_SELECT",
2317 .pme_udesc =
"Core 4 Select",
2320 { .pme_uname =
"CORE_5_SELECT",
2321 .pme_udesc =
"Core 5 Select",
2324 { .pme_uname =
"ANY_CORE",
2325 .pme_udesc =
"Any core",
2329 { .pme_uname =
"ALL_CORES",
2330 .pme_udesc =
"All cores",
2335{.pme_name =
"L3_CACHE_MISSES",
2337 .pme_desc =
"L3 Cache Misses",
2341 { .pme_uname =
"READ_BLOCK_EXCLUSIVE",
2342 .pme_udesc =
"Read Block Exclusive (Data cache read)",
2345 { .pme_uname =
"READ_BLOCK_SHARED",
2346 .pme_udesc =
"Read Block Shared (Instruction cache read)",
2349 { .pme_uname =
"READ_BLOCK_MODIFY",
2350 .pme_udesc =
"Read Block Modify",
2353 { .pme_uname =
"ANY_READ",
2354 .pme_udesc =
"any read modes (exclusive, shared, modify)",
2365 { .pme_uname =
"CORE_0_SELECT",
2366 .pme_udesc =
"Core 0 Select",
2369 { .pme_uname =
"CORE_1_SELECT",
2370 .pme_udesc =
"Core 1 Select",
2373 { .pme_uname =
"CORE_2_SELECT",
2374 .pme_udesc =
"Core 2 Select",
2377 { .pme_uname =
"CORE_3_SELECT",
2378 .pme_udesc =
"Core 3 Select",
2381 { .pme_uname =
"CORE_4_SELECT",
2382 .pme_udesc =
"Core 4 Select",
2385 { .pme_uname =
"CORE_5_SELECT",
2386 .pme_udesc =
"Core 5 Select",
2389 { .pme_uname =
"ANY_CORE",
2390 .pme_udesc =
"Any core",
2394 { .pme_uname =
"ALL_CORES",
2395 .pme_udesc =
"All cores",
2400{.pme_name =
"L3_FILLS_CAUSED_BY_L2_EVICTIONS",
2402 .pme_desc =
"L3 Fills caused by L2 Evictions",
2406 { .pme_uname =
"SHARED",
2407 .pme_udesc =
"Shared",
2410 { .pme_uname =
"EXCLUSIVE",
2411 .pme_udesc =
"Exclusive",
2414 { .pme_uname =
"OWNED",
2415 .pme_udesc =
"Owned",
2418 { .pme_uname =
"MODIFIED",
2419 .pme_udesc =
"Modified",
2422 { .pme_uname =
"ANY_STATE",
2423 .pme_udesc =
"any line state (shared, owned, exclusive, modified)",
2434 { .pme_uname =
"CORE_0_SELECT",
2435 .pme_udesc =
"Core 0 Select",
2438 { .pme_uname =
"CORE_1_SELECT",
2439 .pme_udesc =
"Core 1 Select",
2442 { .pme_uname =
"CORE_2_SELECT",
2443 .pme_udesc =
"Core 2 Select",
2446 { .pme_uname =
"CORE_3_SELECT",
2447 .pme_udesc =
"Core 3 Select",
2450 { .pme_uname =
"CORE_4_SELECT",
2451 .pme_udesc =
"Core 4 Select",
2454 { .pme_uname =
"CORE_5_SELECT",
2455 .pme_udesc =
"Core 5 Select",
2458 { .pme_uname =
"ANY_CORE",
2459 .pme_udesc =
"Any core",
2463 { .pme_uname =
"ALL_CORES",
2464 .pme_udesc =
"All cores",
2469{.pme_name =
"IBSOP_EVENT",
2471 .pme_desc =
"Enable IBS OP mode (pseudo event)",
2475 { .pme_uname =
"CYCLES",
2476 .pme_udesc =
"sample cycles",
2479 { .pme_uname =
"UOPS",
2480 .pme_udesc =
"sample dispatched uops (Rev C and later)",
2485{.pme_name =
"IBSFETCH_EVENT",
2487 .pme_desc =
"Enable IBS Fetch mode (pseudo event)",
2491 { .pme_uname =
"RANDOM",
2492 .pme_udesc =
"randomize period",
2495 { .pme_uname =
"NO_RANDOM",
2496 .pme_udesc =
"do not randomize period",
2501{.pme_name =
"MAB_REQUESTS",
2503 .pme_desc =
"Average L1 refill latency for Icache and Dcache misses (request count for cache refills)",
2506 { .pme_uname =
"BUFFER_0",
2507 .pme_udesc =
"Buffer 0",
2510 { .pme_uname =
"BUFFER_1",
2511 .pme_udesc =
"Buffer 1",
2514 { .pme_uname =
"BUFFER_2",
2515 .pme_udesc =
"Buffer 2",
2518 { .pme_uname =
"BUFFER_3",
2519 .pme_udesc =
"Buffer 3",
2522 { .pme_uname =
"BUFFER_4",
2523 .pme_udesc =
"Buffer 4",
2526 { .pme_uname =
"BUFFER_5",
2527 .pme_udesc =
"Buffer 5",
2530 { .pme_uname =
"BUFFER_6",
2531 .pme_udesc =
"Buffer 6",
2534 { .pme_uname =
"BUFFER_7",
2535 .pme_udesc =
"Buffer 7",
2538 { .pme_uname =
"BUFFER_8",
2539 .pme_udesc =
"Buffer 8",
2542 { .pme_uname =
"BUFFER_9",
2543 .pme_udesc =
"Buffer 9",
2548{.pme_name =
"MAB_WAIT_CYCLES",
2550 .pme_desc =
"Average L1 refill latency for Icache and Dcache misses (cycles that requests spent waiting for the refills)",
2553 { .pme_uname =
"BUFFER_0",
2554 .pme_udesc =
"Buffer 0",
2557 { .pme_uname =
"BUFFER_1",
2558 .pme_udesc =
"Buffer 1",
2561 { .pme_uname =
"BUFFER_2",
2562 .pme_udesc =
"Buffer 2",
2565 { .pme_uname =
"BUFFER_3",
2566 .pme_udesc =
"Buffer 3",
2569 { .pme_uname =
"BUFFER_4",
2570 .pme_udesc =
"Buffer 4",
2573 { .pme_uname =
"BUFFER_5",
2574 .pme_udesc =
"Buffer 5",
2577 { .pme_uname =
"BUFFER_6",
2578 .pme_udesc =
"Buffer 6",
2581 { .pme_uname =
"BUFFER_7",
2582 .pme_udesc =
"Buffer 7",
2585 { .pme_uname =
"BUFFER_8",
2586 .pme_udesc =
"Buffer 8",
2589 { .pme_uname =
"BUFFER_9",
2590 .pme_udesc =
"Buffer 9",
2595{.pme_name =
"NON_CANCELLED_L3_READ_REQUESTS",
2597 .pme_desc =
"Non-cancelled L3 Read Requests",
2600 { .pme_uname =
"READ_BLOCK_EXCLUSIVE",
2601 .pme_udesc =
"Read Block Exclusive (Data cache read)",
2604 { .pme_uname =
"READ_BLOCK_SHARED",
2605 .pme_udesc =
"Read Block Shared (Instruction cache read)",
2608 { .pme_uname =
"READ_BLOCK_MODIFY",
2609 .pme_udesc =
"Read Block Modify",
2612 { .pme_uname =
"ANY_READ",
2613 .pme_udesc =
"any read modes (exclusive, shared, modify)",
2623 { .pme_uname =
"CORE_0_SELECT",
2624 .pme_udesc =
"Core 0 Select",
2627 { .pme_uname =
"CORE_1_SELECT",
2628 .pme_udesc =
"Core 1 Select",
2631 { .pme_uname =
"CORE_2_SELECT",
2632 .pme_udesc =
"Core 2 Select",
2635 { .pme_uname =
"CORE_3_SELECT",
2636 .pme_udesc =
"Core 3 Select",
2639 { .pme_uname =
"CORE_4_SELECT",
2640 .pme_udesc =
"Core 4 Select",
2643 { .pme_uname =
"CORE_5_SELECT",
2644 .pme_udesc =
"Core 5 Select",
2648 { .pme_uname =
"ALL_CORES",
2649 .pme_udesc =
"All cores",
2656#define PME_AMD64_FAM10H_EVENT_COUNT (sizeof(amd64_fam10h_pe)/sizeof(pme_amd64_entry_t))
2657#define PME_AMD64_FAM10H_CPU_CLK_UNHALTED 36
2658#define PME_AMD64_FAM10H_RETIRED_INSTRUCTIONS 54
2659#define PME_AMD64_IBSOP 123
2660#define PME_AMD64_IBSFETCH 124
static pme_amd64_entry_t amd64_fam10h_pe[]
#define PFMLIB_AMD64_TILL_FAM10H_REV_C
#define PFMLIB_AMD64_UMASK_COMBO
#define PFMLIB_AMD64_FAM10H_REV_D
#define PFMLIB_AMD64_TILL_FAM10H_REV_B
#define PFMLIB_AMD64_FAM10H_REV_C