46 .pme_desc =
"FPU Pipe Assignment",
50 { .pme_uname =
"OPS_PIPE0",
51 .pme_udesc =
"Total number uops assigned to Pipe 0",
54 { .pme_uname =
"OPS_PIPE1",
55 .pme_udesc =
"Total number uops assigned to Pipe 1",
58 { .pme_uname =
"OPS_PIPE2",
59 .pme_udesc =
"Total number uops assigned to Pipe 2",
62 { .pme_uname =
"OPS_PIPE3",
63 .pme_udesc =
"Total number uops assigned to Pipe 3",
66 { .pme_uname =
"OPS_DUAL_PIPE0",
67 .pme_udesc =
"Total number dual-pipe uops assigned to Pipe 0",
70 { .pme_uname =
"OPS_DUAL_PIPE1",
71 .pme_udesc =
"Total number dual-pipe uops assigned to Pipe 1",
74 { .pme_uname =
"OPS_DUAL_PIPE2",
75 .pme_udesc =
"Total number dual-pipe uops assigned to Pipe 2",
78 { .pme_uname =
"OPS_DUAL_PIPE3",
79 .pme_udesc =
"Total number dual-pipe uops assigned to Pipe 3",
83 .pme_udesc =
"All sub-events selected",
88{.pme_name =
"CYCLES_FPU_EMPTY",
90 .pme_desc =
"FP Scheduler Empty",
92{.pme_name =
"RETIRED_SSE_OPS",
94 .pme_desc =
"Retired SSE/BNI Ops",
98 { .pme_uname =
"SINGLE_ADD_SUB_OPS",
99 .pme_udesc =
"Single-precision add/subtract FLOPS",
102 { .pme_uname =
"SINGLE_MUL_OPS",
103 .pme_udesc =
"Single-precision multiply FLOPS",
106 { .pme_uname =
"SINGLE_DIV_OPS",
107 .pme_udesc =
"Single-precision divide/square root FLOPS",
110 { .pme_uname =
"SINGLE_MUL_ADD_OPS",
111 .pme_udesc =
"Single precision multiply-add FLOPS. Multiply-add counts as 2 FLOPS",
114 { .pme_uname =
"DOUBLE_ADD_SUB_OPS",
115 .pme_udesc =
"Double precision add/subtract FLOPS",
118 { .pme_uname =
"DOUBLE_MUL_OPS",
119 .pme_udesc =
"Double precision multiply FLOPS",
122 { .pme_uname =
"DOUBLE_DIV_OPS",
123 .pme_udesc =
"Double precision divide/square root FLOPS",
126 { .pme_uname =
"DOUBLE_MUL_ADD_OPS",
127 .pme_udesc =
"Double precision multiply-add FLOPS. Multiply-add counts as 2 FLOPS",
130 { .pme_uname =
"ALL",
131 .pme_udesc =
"All sub-events selected",
136{.pme_name =
"MOVE_SCALAR_OPTIMIZATION",
138 .pme_desc =
"Number of Move Elimination and Scalar Op Optimization",
142 { .pme_uname =
"SSE_MOVE_OPS",
143 .pme_udesc =
"Number of SSE Move Ops",
146 { .pme_uname =
"SSE_MOVE_OPS_ELIM",
147 .pme_udesc =
"Number of SSE Move Ops eliminated",
150 { .pme_uname =
"OPT_CAND",
151 .pme_udesc =
"Number of Ops that are candidates for optimization (Z-bit set or pass)",
154 { .pme_uname =
"SCALAR_OPS_OPTIMIZED",
155 .pme_udesc =
"Number of Scalar ops optimized",
158 { .pme_uname =
"ALL",
159 .pme_udesc =
"All sub-events selected",
164{.pme_name =
"RETIRED_SERIALIZING_OPS",
166 .pme_desc =
"Retired Serializing Ops",
170 { .pme_uname =
"SSE_RETIRED",
171 .pme_udesc =
"SSE bottom-executing uops retired",
174 { .pme_uname =
"SSE_MISPREDICTED",
175 .pme_udesc =
"SSE control word mispredict traps due to mispredictions",
178 { .pme_uname =
"X87_RETIRED",
179 .pme_udesc =
"x87 bottom-executing uops retired",
182 { .pme_uname =
"X87_MISPREDICTED",
183 .pme_udesc =
"x87 control word mispredict traps due to mispredictions",
186 { .pme_uname =
"ALL",
187 .pme_udesc =
"All sub-events selected",
192{.pme_name =
"BOTTOM_EXECUTE_OP",
194 .pme_desc =
"Number of Cycles that a Bottom-Execute uop is in the FP Scheduler",
196{.pme_name =
"SEGMENT_REGISTER_LOADS",
198 .pme_desc =
"Segment Register Loads",
230 { .pme_uname =
"ALL",
231 .pme_udesc =
"All sub-events selected",
236{.pme_name =
"PIPELINE_RESTART_DUE_TO_SELF_MODIFYING_CODE",
238 .pme_desc =
"Pipeline Restart Due to Self-Modifying Code",
240{.pme_name =
"PIPELINE_RESTART_DUE_TO_PROBE_HIT",
242 .pme_desc =
"Pipeline Restart Due to Probe Hit",
244{.pme_name =
"LOAD_Q_STORE_Q_FULL",
246 .pme_desc =
"Load Queue/Store Queue Full",
250 { .pme_uname =
"LOAD_QUEUE",
251 .pme_udesc =
"The number of cycles that the load buffer is full",
254 { .pme_uname =
"STORE_QUEUE",
255 .pme_udesc =
"The number of cycles that the store buffer is full",
258 { .pme_uname =
"ALL",
259 .pme_udesc =
"All sub-events selected",
264{.pme_name =
"LOCKED_OPS",
266 .pme_desc =
"Locked Operations",
270 { .pme_uname =
"EXECUTED",
271 .pme_udesc =
"Number of locked instructions executed",
274 { .pme_uname =
"CYCLES_NON_SPECULATIVE_PHASE",
275 .pme_udesc =
"Number of cycles spent in non-speculative phase, excluding cache miss penalty",
278 { .pme_uname =
"CYCLES_WAITING",
279 .pme_udesc =
"Number of cycles spent in non-speculative phase, including the cache miss penalty",
282 { .pme_uname =
"ALL",
283 .pme_udesc =
"All sub-events selected",
288{.pme_name =
"RETIRED_CLFLUSH_INSTRUCTIONS",
290 .pme_desc =
"Retired CLFLUSH Instructions",
292{.pme_name =
"RETIRED_CPUID_INSTRUCTIONS",
294 .pme_desc =
"Retired CPUID Instructions",
296{.pme_name =
"CANCELLED_STORE_TO_LOAD",
298 .pme_desc =
"Canceled Store to Load Forward Operations",
302 { .pme_uname =
"SIZE_ADDRESS_MISMATCHES",
303 .pme_udesc =
"Store is smaller than load or different starting byte but partial overlap",
306 { .pme_uname =
"ALL",
307 .pme_udesc =
"All sub-events selected",
312{.pme_name =
"SMIS_RECEIVED",
314 .pme_desc =
"SMIs Received",
316{.pme_name =
"DATA_CACHE_ACCESSES",
318 .pme_desc =
"Data Cache Accesses",
320{.pme_name =
"DATA_CACHE_MISSES",
322 .pme_desc =
"Data Cache Misses",
326 { .pme_uname =
"DC_MISS_STREAMING_STORE",
327 .pme_udesc =
"First data cache miss or streaming store to a 64B cache line",
330 { .pme_uname =
"STREAMING_STORE",
331 .pme_udesc =
"First streaming store to a 64B cache line",
334 { .pme_uname =
"ALL",
335 .pme_udesc =
"All sub-events selected",
340{.pme_name =
"DATA_CACHE_REFILLS_FROM_L2_OR_NORTHBRIDGE",
342 .pme_desc =
"Data Cache Refills from L2 or System",
346 { .pme_uname =
"GOOD",
347 .pme_udesc =
"Fill with good data. (Final valid status is valid)",
350 { .pme_uname =
"INVALID",
351 .pme_udesc =
"Early valid status turned out to be invalid",
354 { .pme_uname =
"POISON",
355 .pme_udesc =
"Fill with poison data",
358 { .pme_uname =
"READ_ERROR",
359 .pme_udesc =
"Fill with read data error",
362 { .pme_uname =
"ALL",
363 .pme_udesc =
"All sub-events selected",
368{.pme_name =
"DATA_CACHE_REFILLS_FROM_NORTHBRIDGE",
370 .pme_desc =
"Data Cache Refills from System",
372{.pme_name =
"UNIFIED_TLB_HIT",
374 .pme_desc =
"Unified TLB Hit",
378 { .pme_uname =
"4K_DATA",
379 .pme_udesc =
"4 KB unified TLB hit for data",
382 { .pme_uname =
"2M_DATA",
383 .pme_udesc =
"2 MB unified TLB hit for data",
386 { .pme_uname =
"1G_DATA",
387 .pme_udesc =
"1 GB unified TLB hit for data",
390 { .pme_uname =
"4K_INST",
391 .pme_udesc =
"4 KB unified TLB hit for instruction",
394 { .pme_uname =
"2M_INST",
395 .pme_udesc =
"2 MB unified TLB hit for instruction",
398 { .pme_uname =
"1G_INST",
399 .pme_udesc =
"1 GB unified TLB hit for instruction",
402 { .pme_uname =
"ALL",
403 .pme_udesc =
"All sub-events selected",
408{.pme_name =
"UNIFIED_TLB_MISS",
410 .pme_desc =
"Unified TLB Miss",
414 { .pme_uname =
"4K_DATA",
415 .pme_udesc =
"4 KB unified TLB miss for data",
418 { .pme_uname =
"2M_DATA",
419 .pme_udesc =
"2 MB unified TLB miss for data",
422 { .pme_uname =
"1GB_DATA",
423 .pme_udesc =
"1 GB unified TLB miss for data",
426 { .pme_uname =
"4K_INST",
427 .pme_udesc =
"4 KB unified TLB miss for instruction",
430 { .pme_uname =
"2M_INST",
431 .pme_udesc =
"2 MB unified TLB miss for instruction",
434 { .pme_uname =
"1G_INST",
435 .pme_udesc =
"1 GB unified TLB miss for instruction",
438 { .pme_uname =
"ALL",
439 .pme_udesc =
"All sub-events selected",
444{.pme_name =
"MISALIGNED_ACCESSES",
446 .pme_desc =
"Misaligned Accesses",
448{.pme_name =
"PREFETCH_INSTRUCTIONS_DISPATCHED",
450 .pme_desc =
"Prefetch Instructions Dispatched",
454 { .pme_uname =
"LOAD",
455 .pme_udesc =
"Load (Prefetch, PrefetchT0/T1/T2)",
458 { .pme_uname =
"STORE",
459 .pme_udesc =
"Store (PrefetchW)",
462 { .pme_uname =
"NTA",
463 .pme_udesc =
"NTA (PrefetchNTA)",
466 { .pme_uname =
"ALL",
467 .pme_udesc =
"All sub-events selected",
472{.pme_name =
"INEFFECTIVE_SW_PREFETCHES",
474 .pme_desc =
"Ineffective Software Prefetches",
478 { .pme_uname =
"SW_PREFETCH_HIT_IN_L1",
479 .pme_udesc =
"Software prefetch hit in the L1",
482 { .pme_uname =
"SW_PREFETCH_HIT_IN_L2",
483 .pme_udesc =
"Software prefetch hit in the L2",
486 { .pme_uname =
"ALL",
487 .pme_udesc =
"All sub-events selected",
492{.pme_name =
"MEMORY_REQUESTS",
494 .pme_desc =
"Memory Requests by Type",
498 { .pme_uname =
"NON_CACHEABLE",
499 .pme_udesc =
"Requests to non-cacheable (UC) memory",
502 { .pme_uname =
"WRITE_COMBINING",
503 .pme_udesc =
"Requests to non-cacheable (WC, but not WC+/SS) memory",
506 { .pme_uname =
"STREAMING_STORE",
507 .pme_udesc =
"Requests to non-cacheable (WC+/SS, but not WC) memory",
510 { .pme_uname =
"ALL",
511 .pme_udesc =
"All sub-events selected",
516{.pme_name =
"DATA_PREFETCHER",
518 .pme_desc =
"Data Prefetcher",
522 { .pme_uname =
"ATTEMPTED",
523 .pme_udesc =
"Prefetch attempts",
526 { .pme_uname =
"ALL",
527 .pme_udesc =
"All sub-events selected",
532{.pme_name =
"MAB_REQS",
534 .pme_desc =
"MAB Requests",
538 { .pme_uname =
"BUFFER_BIT_0",
539 .pme_udesc =
"Buffer entry index bit 0",
542 { .pme_uname =
"BUFFER_BIT_1",
543 .pme_udesc =
"Buffer entry index bit 1",
546 { .pme_uname =
"BUFFER_BIT_2",
547 .pme_udesc =
"Buffer entry index bit 2",
550 { .pme_uname =
"BUFFER_BIT_3",
551 .pme_udesc =
"Buffer entry index bit 3",
554 { .pme_uname =
"BUFFER_BIT_4",
555 .pme_udesc =
"Buffer entry index bit 4",
558 { .pme_uname =
"BUFFER_BIT_5",
559 .pme_udesc =
"Buffer entry index bit 5",
562 { .pme_uname =
"BUFFER_BIT_6",
563 .pme_udesc =
"Buffer entry index bit 6",
566 { .pme_uname =
"BUFFER_BIT_7",
567 .pme_udesc =
"Buffer entry index bit 7",
570 { .pme_uname =
"ALL",
571 .pme_udesc =
"All sub-events selected",
576{.pme_name =
"MAB_WAIT",
578 .pme_desc =
"MAB Wait Cycles",
582 { .pme_uname =
"BUFFER_BIT_0",
583 .pme_udesc =
"Buffer entry index bit 0",
586 { .pme_uname =
"BUFFER_BIT_1",
587 .pme_udesc =
"Buffer entry index bit 1",
590 { .pme_uname =
"BUFFER_BIT_2",
591 .pme_udesc =
"Buffer entry index bit 2",
594 { .pme_uname =
"BUFFER_BIT_3",
595 .pme_udesc =
"Buffer entry index bit 3",
598 { .pme_uname =
"BUFFER_BIT_4",
599 .pme_udesc =
"Buffer entry index bit 4",
602 { .pme_uname =
"BUFFER_BIT_5",
603 .pme_udesc =
"Buffer entry index bit 5",
606 { .pme_uname =
"BUFFER_BIT_6",
607 .pme_udesc =
"Buffer entry index bit 6",
610 { .pme_uname =
"BUFFER_BIT_7",
611 .pme_udesc =
"Buffer entry index bit 7",
614 { .pme_uname =
"ALL",
615 .pme_udesc =
"All sub-events selected",
620{.pme_name =
"SYSTEM_READ_RESPONSES",
622 .pme_desc =
"Response From System on Cache Refills",
626 { .pme_uname =
"EXCLUSIVE",
627 .pme_udesc =
"Exclusive",
630 { .pme_uname =
"MODIFIED",
631 .pme_udesc =
"Modified (D18F0x68[ATMModeEn]==0), Modified written (D18F0x68[ATMModeEn]==1)",
634 { .pme_uname =
"SHARED",
635 .pme_udesc =
"Shared",
638 { .pme_uname =
"OWNED",
639 .pme_udesc =
"Owned",
642 { .pme_uname =
"DATA_ERROR",
643 .pme_udesc =
"Data Error",
646 { .pme_uname =
"MODIFIED_UNWRITTEN",
647 .pme_udesc =
"Modified unwritten",
650 { .pme_uname =
"ALL",
651 .pme_udesc =
"All sub-events selected",
656{.pme_name =
"OCTWORD_WRITE_TRANSFERS",
658 .pme_desc =
"Octwords Written to System",
662 { .pme_uname =
"OCTWORD_WRITE_TRANSFER",
663 .pme_udesc =
"OW write transfer",
666 { .pme_uname =
"ALL",
667 .pme_udesc =
"All sub-events selected",
672{.pme_name =
"CPU_CLK_UNHALTED",
674 .pme_desc =
"CPU Clocks not Halted",
676{.pme_name =
"REQUESTS_TO_L2",
678 .pme_desc =
"Requests to L2 Cache",
682 { .pme_uname =
"INSTRUCTIONS",
683 .pme_udesc =
"IC fill",
686 { .pme_uname =
"DATA",
687 .pme_udesc =
"DC fill",
690 { .pme_uname =
"TLB_WALK",
691 .pme_udesc =
"TLB fill (page table walks)",
694 { .pme_uname =
"SNOOP",
695 .pme_udesc =
"NB probe request",
698 { .pme_uname =
"CANCELLED",
699 .pme_udesc =
"Canceled request",
702 { .pme_uname =
"PREFETCHER",
703 .pme_udesc =
"L2 cache prefetcher request",
706 { .pme_uname =
"ALL",
707 .pme_udesc =
"All sub-events selected",
712{.pme_name =
"L2_CACHE_MISS",
714 .pme_desc =
"L2 Cache Misses",
718 { .pme_uname =
"INSTRUCTIONS",
719 .pme_udesc =
"IC fill",
722 { .pme_uname =
"DATA",
723 .pme_udesc =
"DC fill (includes possible replays, whereas PMCx041 does not)",
726 { .pme_uname =
"TLB_WALK",
727 .pme_udesc =
"TLB page table walk",
730 { .pme_uname =
"PREFETCHER",
731 .pme_udesc =
"L2 Cache Prefetcher request",
734 { .pme_uname =
"ALL",
735 .pme_udesc =
"All sub-events selected",
740{.pme_name =
"L2_CACHE_FILL_WRITEBACK",
742 .pme_desc =
"L2 Fill/Writeback",
746 { .pme_uname =
"L2_FILLS",
747 .pme_udesc =
"L2 fills from system",
750 { .pme_uname =
"L2_WRITEBACKS",
751 .pme_udesc =
"L2 Writebacks to system (Clean and Dirty)",
754 { .pme_uname =
"L2_WRITEBACKS_CLEAN",
755 .pme_udesc =
"L2 Clean Writebacks to system",
758 { .pme_uname =
"ALL",
759 .pme_udesc =
"All sub-events selected",
764{.pme_name =
"PAGE_SPLINTERING",
766 .pme_desc =
"Page Splintering",
770 { .pme_uname =
"GUEST_LARGER",
771 .pme_udesc =
"Guest page size is larger than host page size when nested paging is enabled",
774 { .pme_uname =
"MTRR_MISMATCH",
775 .pme_udesc =
"Splintering due to MTRRs, IORRs, APIC, TOMs or other special address region",
778 { .pme_uname =
"HOST_LARGER",
779 .pme_udesc =
"Host page size is larger than the guest page size",
782 { .pme_uname =
"ALL",
783 .pme_udesc =
"All sub-events selected",
788{.pme_name =
"INSTRUCTION_CACHE_FETCHES",
790 .pme_desc =
"Instruction Cache Fetches",
792{.pme_name =
"INSTRUCTION_CACHE_MISSES",
794 .pme_desc =
"Instruction Cache Misses",
796{.pme_name =
"INSTRUCTION_CACHE_REFILLS_FROM_L2",
798 .pme_desc =
"Instruction Cache Refills from L2",
800{.pme_name =
"INSTRUCTION_CACHE_REFILLS_FROM_SYSTEM",
802 .pme_desc =
"Instruction Cache Refills from System",
804{.pme_name =
"L1_ITLB_MISS_AND_L2_ITLB_HIT",
806 .pme_desc =
"L1 ITLB Miss, L2 ITLB Hit",
808{.pme_name =
"L1_ITLB_MISS_AND_L2_ITLB_MISS",
810 .pme_desc =
"L1 ITLB Miss, L2 ITLB Miss",
814 { .pme_uname =
"4K_PAGE_FETCHES",
815 .pme_udesc =
"Instruction fetches to a 4 KB page",
818 { .pme_uname =
"2M_PAGE_FETCHES",
819 .pme_udesc =
"Instruction fetches to a 2 MB page",
822 { .pme_uname =
"1G_PAGE_FETCHES",
823 .pme_udesc =
"Instruction fetches to a 1 GB page",
826 { .pme_uname =
"ALL",
827 .pme_udesc =
"All sub-events selected",
832{.pme_name =
"PIPELINE_RESTART_DUE_TO_INSTRUCTION_STREAM_PROBE",
834 .pme_desc =
"Pipeline Restart Due to Instruction Stream Probe",
836{.pme_name =
"INSTRUCTION_FETCH_STALL",
838 .pme_desc =
"Instruction Fetch Stall",
840{.pme_name =
"RETURN_STACK_HITS",
842 .pme_desc =
"Return Stack Hits",
844{.pme_name =
"RETURN_STACK_OVERFLOWS",
846 .pme_desc =
"Return Stack Overflows",
848{.pme_name =
"INSTRUCTION_CACHE_VICTIMS",
850 .pme_desc =
"Instruction Cache Victims",
852{.pme_name =
"INSTRUCTION_CACHE_INVALIDATED",
854 .pme_desc =
"Instruction Cache Lines Invalidated",
858 { .pme_uname =
"NON_SMC_PROBE_MISS",
859 .pme_udesc =
"Non-SMC invalidating probe that missed on in-flight instructions",
862 { .pme_uname =
"NON_SMC_PROBE_HIT",
863 .pme_udesc =
"Non-SMC invalidating probe that hit on in-flight instructions",
866 { .pme_uname =
"SMC_PROBE_MISS",
867 .pme_udesc =
"SMC invalidating probe that missed on in-flight instructions",
870 { .pme_uname =
"SMC_PROBE_HIT",
871 .pme_udesc =
"SMC invalidating probe that hit on 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_FP_INSTRUCTIONS",
934 .pme_desc =
"Retired MMX/FP Instructions",
938 { .pme_uname =
"X87",
939 .pme_udesc =
"x87 instructions",
942 { .pme_uname =
"MMX",
943 .pme_udesc =
"MMX(tm) instructions",
946 { .pme_uname =
"SSE",
947 .pme_udesc =
"SSE instructions (SSE,SSE2,SSE3,SSSE3,SSE4A,SSE4.1,SSE4.2,AVX,XOP,FMA4)",
950 { .pme_uname =
"ALL",
951 .pme_udesc =
"All sub-events selected",
956{.pme_name =
"INTERRUPTS_MASKED_CYCLES",
958 .pme_desc =
"Interrupts-Masked Cycles",
960{.pme_name =
"INTERRUPTS_MASKED_CYCLES_WITH_INTERRUPT_PENDING",
962 .pme_desc =
"Interrupts-Masked Cycles with Interrupt Pending",
964{.pme_name =
"INTERRUPTS_TAKEN",
966 .pme_desc =
"Interrupts Taken",
968{.pme_name =
"DECODER_EMPTY",
970 .pme_desc =
"Decoder Empty",
972{.pme_name =
"DISPATCH_STALLS",
974 .pme_desc =
"Dispatch Stalls",
976{.pme_name =
"DISPATCH_STALL_FOR_SERIALIZATION",
978 .pme_desc =
"Microsequencer Stall due to Serialization",
980{.pme_name =
"DISPATCH_STALL_FOR_RETIRE_QUEUE_FULL",
982 .pme_desc =
"Dispatch Stall for Instruction Retire Q Full",
984{.pme_name =
"DISPATCH_STALL_FOR_INT_SCHED_QUEUE_FULL",
986 .pme_desc =
"Dispatch Stall for Integer Scheduler Queue Full",
988{.pme_name =
"DISPATCH_STALL_FOR_FPU_FULL",
990 .pme_desc =
"Dispatch Stall for FP Scheduler Queue Full",
992{.pme_name =
"DISPATCH_STALL_FOR_LDQ_FULL",
994 .pme_desc =
"Dispatch Stall for LDQ Full",
996{.pme_name =
"MICROSEQ_STALL_WAITING_FOR_ALL_QUIET",
998 .pme_desc =
"Microsequencer Stall Waiting for All Quiet",
1000{.pme_name =
"FPU_EXCEPTIONS",
1002 .pme_desc =
"FPU Exceptions",
1006 { .pme_uname =
"TOTAL_FAULTS",
1007 .pme_udesc =
"Total microfaults",
1008 .pme_ucode = 1 << 0,
1010 { .pme_uname =
"TOTAL_TRAPS",
1011 .pme_udesc =
"Total microtraps",
1012 .pme_ucode = 1 << 1,
1014 { .pme_uname =
"INT2EXT_FAULTS",
1015 .pme_udesc =
"Int2Ext faults",
1016 .pme_ucode = 1 << 2,
1018 { .pme_uname =
"EXT2INT_FAULTS",
1019 .pme_udesc =
"Ext2Int faults",
1020 .pme_ucode = 1 << 3,
1022 { .pme_uname =
"BYPASS_FAULTS",
1023 .pme_udesc =
"Bypass faults",
1024 .pme_ucode = 1 << 4,
1026 { .pme_uname =
"ALL",
1027 .pme_udesc =
"All sub-events selected",
1032{.pme_name =
"DR0_BREAKPOINTS",
1034 .pme_desc =
"DR0 Breakpoint Match",
1036{.pme_name =
"DR1_BREAKPOINTS",
1038 .pme_desc =
"DR1 Breakpoint Match",
1040{.pme_name =
"DR2_BREAKPOINTS",
1042 .pme_desc =
"DR2 Breakpoint Match",
1044{.pme_name =
"DR3_BREAKPOINTS",
1046 .pme_desc =
"DR3 Breakpoint Match",
1048{.pme_name =
"IBS_OPS_TAGGED",
1050 .pme_desc =
"Tagged IBS Ops",
1054 { .pme_uname =
"TAGGED",
1055 .pme_udesc =
"Number of ops tagged by IBS",
1056 .pme_ucode = 1 << 0,
1058 { .pme_uname =
"RETIRED",
1059 .pme_udesc =
"Number of ops tagged by IBS that retired",
1060 .pme_ucode = 1 << 1,
1062 { .pme_uname =
"IGNORED",
1063 .pme_udesc =
"Number of times an op could not be tagged by IBS because of a previous tagged op that has not retired",
1064 .pme_ucode = 1 << 2,
1066 { .pme_uname =
"ALL",
1067 .pme_udesc =
"All sub-events selected",
1074{.pme_name =
"DRAM_ACCESSES",
1076 .pme_desc =
"DRAM Accesses",
1080 { .pme_uname =
"HIT",
1081 .pme_udesc =
"DCT0 Page hit",
1082 .pme_ucode = 1 << 0,
1084 { .pme_uname =
"MISS",
1085 .pme_udesc =
"DCT0 Page Miss",
1086 .pme_ucode = 1 << 1,
1088 { .pme_uname =
"CONFLICT",
1089 .pme_udesc =
"DCT0 Page Conflict",
1090 .pme_ucode = 1 << 2,
1092 { .pme_uname =
"DCT1_PAGE_HIT",
1093 .pme_udesc =
"DCT1 Page hit",
1094 .pme_ucode = 1 << 3,
1096 { .pme_uname =
"DCT1_PAGE_MISS",
1097 .pme_udesc =
"DCT1 Page Miss",
1098 .pme_ucode = 1 << 4,
1100 { .pme_uname =
"DCT1_PAGE_CONFLICT",
1101 .pme_udesc =
"DCT1 Page Conflict",
1102 .pme_ucode = 1 << 5,
1104 { .pme_uname =
"ALL",
1105 .pme_udesc =
"All sub-events selected",
1110{.pme_name =
"MEMORY_CONTROLLER_PAGE_TABLE_OVERFLOWS",
1112 .pme_desc =
"DRAM Controller Page Table Overflows",
1116 { .pme_uname =
"DCT0_PAGE_TABLE_OVERFLOW",
1117 .pme_udesc =
"DCT0 Page Table Overflow",
1118 .pme_ucode = 1 << 0,
1120 { .pme_uname =
"DCT1_PAGE_TABLE_OVERFLOW",
1121 .pme_udesc =
"DCT1 Page Table Overflow",
1122 .pme_ucode = 1 << 1,
1124 { .pme_uname =
"ALL",
1125 .pme_udesc =
"All sub-events selected",
1130{.pme_name =
"MEMORY_CONTROLLER_SLOT_MISSED",
1132 .pme_desc =
"Memory Controller DRAM Command Slots Missed",
1136 { .pme_uname =
"DCT0_COMMAND_SLOTS_MISSED",
1137 .pme_udesc =
"DCT0 Command Slots Missed (in MemClks)",
1138 .pme_ucode = 1 << 0,
1140 { .pme_uname =
"DCT1_COMMAND_SLOTS_MISSED",
1141 .pme_udesc =
"DCT1 Command Slots Missed (in MemClks)",
1142 .pme_ucode = 1 << 1,
1144 { .pme_uname =
"ALL",
1145 .pme_udesc =
"All sub-events selected",
1150{.pme_name =
"MEMORY_CONTROLLER_TURNAROUNDS",
1152 .pme_desc =
"Memory Controller Turnarounds",
1156 { .pme_uname =
"CHIP_SELECT",
1157 .pme_udesc =
"DCT0 DIMM (chip select) turnaround",
1158 .pme_ucode = 1 << 0,
1160 { .pme_uname =
"READ_TO_WRITE",
1161 .pme_udesc =
"DCT0 Read to write turnaround",
1162 .pme_ucode = 1 << 1,
1164 { .pme_uname =
"WRITE_TO_READ",
1165 .pme_udesc =
"DCT0 Write to read turnaround",
1166 .pme_ucode = 1 << 2,
1168 { .pme_uname =
"DCT1_DIMM",
1169 .pme_udesc =
"DCT1 DIMM (chip select) turnaround",
1170 .pme_ucode = 1 << 3,
1172 { .pme_uname =
"DCT1_READ_TO_WRITE_TURNAROUND",
1173 .pme_udesc =
"DCT1 Read to write turnaround",
1174 .pme_ucode = 1 << 4,
1176 { .pme_uname =
"DCT1_WRITE_TO_READ_TURNAROUND",
1177 .pme_udesc =
"DCT1 Write to read turnaround",
1178 .pme_ucode = 1 << 5,
1180 { .pme_uname =
"ALL",
1181 .pme_udesc =
"All sub-events selected",
1186{.pme_name =
"MEMORY_CONTROLLER_BYPASS_COUNTER_SATURATION",
1188 .pme_desc =
"Memory Controller Bypass Counter Saturation",
1192 { .pme_uname =
"HIGH_PRIORITY",
1193 .pme_udesc =
"Memory controller high priority bypass",
1194 .pme_ucode = 1 << 0,
1196 { .pme_uname =
"MEDIUM_PRIORITY",
1197 .pme_udesc =
"Memory controller medium priority bypass",
1198 .pme_ucode = 1 << 1,
1200 { .pme_uname =
"DCT0_DCQ",
1201 .pme_udesc =
"DCT0 DCQ bypass",
1202 .pme_ucode = 1 << 2,
1204 { .pme_uname =
"DCT1_DCQ",
1205 .pme_udesc =
"DCT1 DCQ bypass",
1206 .pme_ucode = 1 << 3,
1208 { .pme_uname =
"ALL",
1209 .pme_udesc =
"All sub-events selected",
1214{.pme_name =
"THERMAL_STATUS",
1216 .pme_desc =
"Thermal Status",
1220 { .pme_uname =
"CLKS_DIE_TEMP_TOO_HIGH",
1221 .pme_udesc =
"Number of times the HTC trip point is crossed",
1222 .pme_ucode = 1 << 2,
1224 { .pme_uname =
"CLOCKS_HTC_P_STATE_INACTIVE",
1225 .pme_udesc =
"Number of clocks HTC P-state is inactive",
1226 .pme_ucode = 1 << 5,
1228 { .pme_uname =
"CLOCKS_HTC_P_STATE_ACTIVE",
1229 .pme_udesc =
"Number of clocks HTC P-state is active",
1230 .pme_ucode = 1 << 6,
1232 { .pme_uname =
"ALL",
1233 .pme_udesc =
"All sub-events selected",
1238{.pme_name =
"CPU_IO_REQUESTS_TO_MEMORY_IO",
1240 .pme_desc =
"CPU/IO Requests to Memory/IO",
1244 { .pme_uname =
"I_O_TO_I_O",
1245 .pme_udesc =
"IO to IO",
1246 .pme_ucode = 1 << 0,
1248 { .pme_uname =
"I_O_TO_MEM",
1249 .pme_udesc =
"IO to Mem",
1250 .pme_ucode = 1 << 1,
1252 { .pme_uname =
"CPU_TO_I_O",
1253 .pme_udesc =
"CPU to IO",
1254 .pme_ucode = 1 << 2,
1256 { .pme_uname =
"CPU_TO_MEM",
1257 .pme_udesc =
"CPU to Mem",
1258 .pme_ucode = 1 << 3,
1260 { .pme_uname =
"TO_REMOTE_NODE",
1261 .pme_udesc =
"To remote node",
1262 .pme_ucode = 1 << 4,
1264 { .pme_uname =
"TO_LOCAL_NODE",
1265 .pme_udesc =
"To local node",
1266 .pme_ucode = 1 << 5,
1268 { .pme_uname =
"FROM_REMOTE_NODE",
1269 .pme_udesc =
"From remote node",
1270 .pme_ucode = 1 << 6,
1272 { .pme_uname =
"FROM_LOCAL_NODE",
1273 .pme_udesc =
"From local node",
1274 .pme_ucode = 1 << 7,
1276 { .pme_uname =
"ALL",
1277 .pme_udesc =
"All sub-events selected",
1282{.pme_name =
"CACHE_BLOCK_COMMANDS",
1284 .pme_desc =
"Cache Block Commands",
1288 { .pme_uname =
"VICTIM_WRITEBACK",
1289 .pme_udesc =
"Victim Block (Writeback)",
1290 .pme_ucode = 1 << 0,
1292 { .pme_uname =
"DCACHE_LOAD_MISS",
1293 .pme_udesc =
"Read Block (Dcache load miss refill)",
1294 .pme_ucode = 1 << 2,
1296 { .pme_uname =
"SHARED_ICACHE_REFILL",
1297 .pme_udesc =
"Read Block Shared (Icache refill)",
1298 .pme_ucode = 1 << 3,
1300 { .pme_uname =
"READ_BLOCK_MODIFIED",
1301 .pme_udesc =
"Read Block Modified (Dcache store miss refill)",
1302 .pme_ucode = 1 << 4,
1304 { .pme_uname =
"CHANGE_TO_DIRTY",
1305 .pme_udesc =
"Change-to-Dirty (first store to clean block already in cache)",
1306 .pme_ucode = 1 << 5,
1308 { .pme_uname =
"ALL",
1309 .pme_udesc =
"All sub-events selected",
1314{.pme_name =
"SIZED_COMMANDS",
1316 .pme_desc =
"Sized Commands",
1320 { .pme_uname =
"NON_POSTED_WRITE_BYTE",
1321 .pme_udesc =
"Non-Posted SzWr Byte (1-32 bytes)",
1322 .pme_ucode = 1 << 0,
1324 { .pme_uname =
"NON_POSTED_WRITE_DWORD",
1325 .pme_udesc =
"Non-Posted SzWr DW (1-16 dwords)",
1326 .pme_ucode = 1 << 1,
1328 { .pme_uname =
"POSTED_WRITE_BYTE",
1329 .pme_udesc =
"Posted SzWr Byte (1-32 bytes)",
1330 .pme_ucode = 1 << 2,
1332 { .pme_uname =
"POSTED_WRITE_DWORD",
1333 .pme_udesc =
"Posted SzWr DW (1-16 dwords)",
1334 .pme_ucode = 1 << 3,
1336 { .pme_uname =
"READ_BYTE",
1337 .pme_udesc =
"SzRd Byte (4 bytes)",
1338 .pme_ucode = 1 << 4,
1340 { .pme_uname =
"READ_DWORD",
1341 .pme_udesc =
"SzRd DW (1-16 dwords)",
1342 .pme_ucode = 1 << 5,
1344 { .pme_uname =
"ALL",
1345 .pme_udesc =
"All sub-events selected",
1350{.pme_name =
"PROBE_RESPONSES_AND_UPSTREAM_REQUESTS",
1352 .pme_desc =
"Probe Responses and Upstream Requests",
1356 { .pme_uname =
"MISS",
1357 .pme_udesc =
"Probe miss",
1358 .pme_ucode = 1 << 0,
1360 { .pme_uname =
"HIT_CLEAN",
1361 .pme_udesc =
"Probe hit clean",
1362 .pme_ucode = 1 << 1,
1364 { .pme_uname =
"HIT_DIRTY_NO_MEMORY_CANCEL",
1365 .pme_udesc =
"Probe hit dirty without memory cancel (probed by Sized Write or Change2Dirty)",
1366 .pme_ucode = 1 << 2,
1368 { .pme_uname =
"HIT_DIRTY_WITH_MEMORY_CANCEL",
1369 .pme_udesc =
"Probe hit dirty with memory cancel (probed by DMA read/cache refill request)",
1370 .pme_ucode = 1 << 3,
1372 { .pme_uname =
"UPSTREAM_DISPLAY_REFRESH_READS",
1373 .pme_udesc =
"Upstream display refresh/ISOC reads",
1374 .pme_ucode = 1 << 4,
1376 { .pme_uname =
"UPSTREAM_NON_DISPLAY_REFRESH_READS",
1377 .pme_udesc =
"Upstream non-display refresh reads",
1378 .pme_ucode = 1 << 5,
1380 { .pme_uname =
"UPSTREAM_WRITES",
1381 .pme_udesc =
"Upstream ISOC writes",
1382 .pme_ucode = 1 << 6,
1384 { .pme_uname =
"UPSTREAM_NON_ISOC_WRITES",
1385 .pme_udesc =
"Upstream non-ISOC writes",
1386 .pme_ucode = 1 << 7,
1388 { .pme_uname =
"ALL",
1389 .pme_udesc =
"All sub-events selected",
1394{.pme_name =
"GART_EVENTS",
1396 .pme_desc =
"GART Events",
1400 { .pme_uname =
"CPU_HIT",
1401 .pme_udesc =
"GART aperture hit on access from CPU",
1402 .pme_ucode = 1 << 0,
1404 { .pme_uname =
"IO_HIT",
1405 .pme_udesc =
"GART aperture hit on access from IO",
1406 .pme_ucode = 1 << 1,
1408 { .pme_uname =
"MISS",
1409 .pme_udesc =
"GART miss",
1410 .pme_ucode = 1 << 2,
1412 { .pme_uname =
"TABLE_WALK",
1413 .pme_udesc =
"GART Request hit table walk in progress",
1414 .pme_ucode = 1 << 3,
1416 { .pme_uname =
"MULTIPLE_TABLE_WALK",
1417 .pme_udesc =
"GART multiple table walk in progress",
1418 .pme_ucode = 1 << 7,
1420 { .pme_uname =
"ALL",
1421 .pme_udesc =
"All sub-events selected",
1426{.pme_name =
"HYPERTRANSPORT_LINK0_TRANSMIT_BANDWIDTH",
1428 .pme_desc =
"HyperTransport(tm) Link 0 Transmit Bandwidth",
1432 { .pme_uname =
"COMMAND_DWORD_SENT",
1433 .pme_udesc =
"Command DWORD sent",
1434 .pme_ucode = 1 << 0,
1436 { .pme_uname =
"DATA_DWORD_SENT",
1437 .pme_udesc =
"Data DWORD sent",
1438 .pme_ucode = 1 << 1,
1440 { .pme_uname =
"BUFFER_RELEASE_DWORD_SENT",
1441 .pme_udesc =
"Buffer release DWORD sent",
1442 .pme_ucode = 1 << 2,
1444 { .pme_uname =
"NOP_DWORD_SENT",
1445 .pme_udesc =
"Nop DW sent (idle)",
1446 .pme_ucode = 1 << 3,
1448 { .pme_uname =
"ADDRESS_EXT_DWORD_SENT",
1449 .pme_udesc =
"Address DWORD sent",
1450 .pme_ucode = 1 << 4,
1452 { .pme_uname =
"PER_PACKET_CRC_SENT",
1453 .pme_udesc =
"Per packet CRC sent",
1454 .pme_ucode = 1 << 5,
1456 { .pme_uname =
"SUBLINK_MASK",
1457 .pme_udesc =
"SubLink Mask",
1458 .pme_ucode = 1 << 7,
1460 { .pme_uname =
"ALL",
1461 .pme_udesc =
"All sub-events selected",
1466{.pme_name =
"HYPERTRANSPORT_LINK1_TRANSMIT_BANDWIDTH",
1468 .pme_desc =
"HyperTransport(tm) Link 1 Transmit Bandwidth",
1472 { .pme_uname =
"COMMAND_DWORD_SENT",
1473 .pme_udesc =
"Command DWORD sent",
1474 .pme_ucode = 1 << 0,
1476 { .pme_uname =
"DATA_DWORD_SENT",
1477 .pme_udesc =
"Data DWORD sent",
1478 .pme_ucode = 1 << 1,
1480 { .pme_uname =
"BUFFER_RELEASE_DWORD_SENT",
1481 .pme_udesc =
"Buffer release DWORD sent",
1482 .pme_ucode = 1 << 2,
1484 { .pme_uname =
"NOP_DWORD_SENT",
1485 .pme_udesc =
"Nop DW sent (idle)",
1486 .pme_ucode = 1 << 3,
1488 { .pme_uname =
"ADDRESS_EXT_DWORD_SENT",
1489 .pme_udesc =
"Address DWORD sent",
1490 .pme_ucode = 1 << 4,
1492 { .pme_uname =
"PER_PACKET_CRC_SENT",
1493 .pme_udesc =
"Per packet CRC sent",
1494 .pme_ucode = 1 << 5,
1496 { .pme_uname =
"SUBLINK_MASK",
1497 .pme_udesc =
"SubLink Mask",
1498 .pme_ucode = 1 << 7,
1500 { .pme_uname =
"ALL",
1501 .pme_udesc =
"All sub-events selected",
1506{.pme_name =
"HYPERTRANSPORT_LINK2_TRANSMIT_BANDWIDTH",
1508 .pme_desc =
"HyperTransport(tm) Link 2 Transmit Bandwidth",
1512 { .pme_uname =
"COMMAND_DWORD_SENT",
1513 .pme_udesc =
"Command DWORD sent",
1514 .pme_ucode = 1 << 0,
1516 { .pme_uname =
"DATA_DWORD_SENT",
1517 .pme_udesc =
"Data DWORD sent",
1518 .pme_ucode = 1 << 1,
1520 { .pme_uname =
"BUFFER_RELEASE_DWORD_SENT",
1521 .pme_udesc =
"Buffer release DWORD sent",
1522 .pme_ucode = 1 << 2,
1524 { .pme_uname =
"NOP_DWORD_SENT",
1525 .pme_udesc =
"Nop DW sent (idle)",
1526 .pme_ucode = 1 << 3,
1528 { .pme_uname =
"ADDRESS_EXT_DWORD_SENT",
1529 .pme_udesc =
"Address DWORD sent",
1530 .pme_ucode = 1 << 4,
1532 { .pme_uname =
"PER_PACKET_CRC_SENT",
1533 .pme_udesc =
"Per packet CRC sent",
1534 .pme_ucode = 1 << 5,
1536 { .pme_uname =
"SUBLINK_MASK",
1537 .pme_udesc =
"SubLink Mask",
1538 .pme_ucode = 1 << 7,
1540 { .pme_uname =
"ALL",
1541 .pme_udesc =
"All sub-events selected",
1546{.pme_name =
"HYPERTRANSPORT_LINK3_TRANSMIT_BANDWIDTH",
1548 .pme_desc =
"HyperTransport(tm) Link 3 Transmit Bandwidth",
1552 { .pme_uname =
"COMMAND_DWORD_SENT",
1553 .pme_udesc =
"Command DWORD sent",
1554 .pme_ucode = 1 << 0,
1556 { .pme_uname =
"DATA_DWORD_SENT",
1557 .pme_udesc =
"Data DWORD sent",
1558 .pme_ucode = 1 << 1,
1560 { .pme_uname =
"BUFFER_RELEASE_DWORD_SENT",
1561 .pme_udesc =
"Buffer release DWORD sent",
1562 .pme_ucode = 1 << 2,
1564 { .pme_uname =
"NOP_DWORD_SENT",
1565 .pme_udesc =
"Nop DW sent (idle)",
1566 .pme_ucode = 1 << 3,
1568 { .pme_uname =
"ADDRESS_EXT_DWORD_SENT",
1569 .pme_udesc =
"Address DWORD sent",
1570 .pme_ucode = 1 << 4,
1572 { .pme_uname =
"PER_PACKET_CRC_SENT",
1573 .pme_udesc =
"Per packet CRC sent",
1574 .pme_ucode = 1 << 5,
1576 { .pme_uname =
"SUBLINK_MASK",
1577 .pme_udesc =
"SubLink Mask",
1578 .pme_ucode = 1 << 7,
1580 { .pme_uname =
"ALL",
1581 .pme_udesc =
"All sub-events selected",
1586{.pme_name =
"CPU_DRAM_REQUEST_TO_NODE",
1588 .pme_desc =
"CPU to DRAM Requests to Target Node",
1592 { .pme_uname =
"LOCAL_TO_0",
1593 .pme_udesc =
"From Local node to Node 0",
1594 .pme_ucode = 1 << 0,
1596 { .pme_uname =
"LOCAL_TO_1",
1597 .pme_udesc =
"From Local node to Node 1",
1598 .pme_ucode = 1 << 1,
1600 { .pme_uname =
"LOCAL_TO_2",
1601 .pme_udesc =
"From Local node to Node 2",
1602 .pme_ucode = 1 << 2,
1604 { .pme_uname =
"LOCAL_TO_3",
1605 .pme_udesc =
"From Local node to Node 3",
1606 .pme_ucode = 1 << 3,
1608 { .pme_uname =
"LOCAL_TO_4",
1609 .pme_udesc =
"From Local node to Node 4",
1610 .pme_ucode = 1 << 4,
1612 { .pme_uname =
"LOCAL_TO_5",
1613 .pme_udesc =
"From Local node to Node 5",
1614 .pme_ucode = 1 << 5,
1616 { .pme_uname =
"LOCAL_TO_6",
1617 .pme_udesc =
"From Local node to Node 6",
1618 .pme_ucode = 1 << 6,
1620 { .pme_uname =
"LOCAL_TO_7",
1621 .pme_udesc =
"From Local node to Node 7",
1622 .pme_ucode = 1 << 7,
1624 { .pme_uname =
"ALL",
1625 .pme_udesc =
"All sub-events selected",
1630{.pme_name =
"IO_DRAM_REQUEST_TO_NODE",
1632 .pme_desc =
"IO to DRAM Requests to Target Node",
1636 { .pme_uname =
"LOCAL_TO_0",
1637 .pme_udesc =
"From Local node to Node 0",
1638 .pme_ucode = 1 << 0,
1640 { .pme_uname =
"LOCAL_TO_1",
1641 .pme_udesc =
"From Local node to Node 1",
1642 .pme_ucode = 1 << 1,
1644 { .pme_uname =
"LOCAL_TO_2",
1645 .pme_udesc =
"From Local node to Node 2",
1646 .pme_ucode = 1 << 2,
1648 { .pme_uname =
"LOCAL_TO_3",
1649 .pme_udesc =
"From Local node to Node 3",
1650 .pme_ucode = 1 << 3,
1652 { .pme_uname =
"LOCAL_TO_4",
1653 .pme_udesc =
"From Local node to Node 4",
1654 .pme_ucode = 1 << 4,
1656 { .pme_uname =
"LOCAL_TO_5",
1657 .pme_udesc =
"From Local node to Node 5",
1658 .pme_ucode = 1 << 5,
1660 { .pme_uname =
"LOCAL_TO_6",
1661 .pme_udesc =
"From Local node to Node 6",
1662 .pme_ucode = 1 << 6,
1664 { .pme_uname =
"LOCAL_TO_7",
1665 .pme_udesc =
"From Local node to Node 7",
1666 .pme_ucode = 1 << 7,
1668 { .pme_uname =
"ALL",
1669 .pme_udesc =
"All sub-events selected",
1674{.pme_name =
"CPU_READ_COMMAND_LATENCY_NODE_0_3",
1676 .pme_desc =
"CPU Read Command Latency to Target Node 0-3",
1680 { .pme_uname =
"READ_BLOCK",
1681 .pme_udesc =
"Read block",
1682 .pme_ucode = 1 << 0,
1684 { .pme_uname =
"READ_BLOCK_SHARED",
1685 .pme_udesc =
"Read block shared",
1686 .pme_ucode = 1 << 1,
1688 { .pme_uname =
"READ_BLOCK_MODIFIED",
1689 .pme_udesc =
"Read block modified",
1690 .pme_ucode = 1 << 2,
1692 { .pme_uname =
"CHANGE_TO_DIRTY",
1693 .pme_udesc =
"Change-to-Dirty",
1694 .pme_ucode = 1 << 3,
1696 { .pme_uname =
"LOCAL_TO_0",
1697 .pme_udesc =
"From Local node to Node 0",
1698 .pme_ucode = 1 << 4,
1700 { .pme_uname =
"LOCAL_TO_1",
1701 .pme_udesc =
"From Local node to Node 1",
1702 .pme_ucode = 1 << 5,
1704 { .pme_uname =
"LOCAL_TO_2",
1705 .pme_udesc =
"From Local node to Node 2",
1706 .pme_ucode = 1 << 6,
1708 { .pme_uname =
"LOCAL_TO_3",
1709 .pme_udesc =
"From Local node to Node 3",
1710 .pme_ucode = 1 << 7,
1712 { .pme_uname =
"ALL",
1713 .pme_udesc =
"All sub-events selected",
1718{.pme_name =
"CPU_READ_COMMAND_REQUEST_NODE_0_3",
1720 .pme_desc =
"CPU Read Command Requests to Target Node 0-3",
1724 { .pme_uname =
"READ_BLOCK",
1725 .pme_udesc =
"Read block",
1726 .pme_ucode = 1 << 0,
1728 { .pme_uname =
"READ_BLOCK_SHARED",
1729 .pme_udesc =
"Read block shared",
1730 .pme_ucode = 1 << 1,
1732 { .pme_uname =
"READ_BLOCK_MODIFIED",
1733 .pme_udesc =
"Read block modified",
1734 .pme_ucode = 1 << 2,
1736 { .pme_uname =
"CHANGE_TO_DIRTY",
1737 .pme_udesc =
"Change-to-Dirty",
1738 .pme_ucode = 1 << 3,
1740 { .pme_uname =
"LOCAL_TO_0",
1741 .pme_udesc =
"From Local node to Node 0",
1742 .pme_ucode = 1 << 4,
1744 { .pme_uname =
"LOCAL_TO_1",
1745 .pme_udesc =
"From Local node to Node 1",
1746 .pme_ucode = 1 << 5,
1748 { .pme_uname =
"LOCAL_TO_2",
1749 .pme_udesc =
"From Local node to Node 2",
1750 .pme_ucode = 1 << 6,
1752 { .pme_uname =
"LOCAL_TO_3",
1753 .pme_udesc =
"From Local node to Node 3",
1754 .pme_ucode = 1 << 7,
1756 { .pme_uname =
"ALL",
1757 .pme_udesc =
"All sub-events selected",
1762{.pme_name =
"CPU_READ_COMMAND_LATENCY_NODE_4_7",
1764 .pme_desc =
"CPU Read Command Latency to Target Node 4-7",
1768 { .pme_uname =
"READ_BLOCK",
1769 .pme_udesc =
"Read block",
1770 .pme_ucode = 1 << 0,
1772 { .pme_uname =
"READ_BLOCK_SHARED",
1773 .pme_udesc =
"Read block shared",
1774 .pme_ucode = 1 << 1,
1776 { .pme_uname =
"READ_BLOCK_MODIFIED",
1777 .pme_udesc =
"Read block modified",
1778 .pme_ucode = 1 << 2,
1780 { .pme_uname =
"CHANGE_TO_DIRTY",
1781 .pme_udesc =
"Change-to-Dirty",
1782 .pme_ucode = 1 << 3,
1784 { .pme_uname =
"LOCAL_TO_4",
1785 .pme_udesc =
"From Local node to Node 4",
1786 .pme_ucode = 1 << 4,
1788 { .pme_uname =
"LOCAL_TO_5",
1789 .pme_udesc =
"From Local node to Node 5",
1790 .pme_ucode = 1 << 5,
1792 { .pme_uname =
"LOCAL_TO_6",
1793 .pme_udesc =
"From Local node to Node 6",
1794 .pme_ucode = 1 << 6,
1796 { .pme_uname =
"LOCAL_TO_7",
1797 .pme_udesc =
"From Local node to Node 7",
1798 .pme_ucode = 1 << 7,
1800 { .pme_uname =
"ALL",
1801 .pme_udesc =
"All sub-events selected",
1806{.pme_name =
"CPU_READ_COMMAND_REQUEST_NODE_4_7",
1808 .pme_desc =
"CPU Read Command Requests to Target Node 4-7",
1812 { .pme_uname =
"READ_BLOCK",
1813 .pme_udesc =
"Read block",
1814 .pme_ucode = 1 << 0,
1816 { .pme_uname =
"READ_BLOCK_SHARED",
1817 .pme_udesc =
"Read block shared",
1818 .pme_ucode = 1 << 1,
1820 { .pme_uname =
"READ_BLOCK_MODIFIED",
1821 .pme_udesc =
"Read block modified",
1822 .pme_ucode = 1 << 2,
1824 { .pme_uname =
"CHANGE_TO_DIRTY",
1825 .pme_udesc =
"Change-to-Dirty",
1826 .pme_ucode = 1 << 3,
1828 { .pme_uname =
"LOCAL_TO_4",
1829 .pme_udesc =
"From Local node to Node 4",
1830 .pme_ucode = 1 << 4,
1832 { .pme_uname =
"LOCAL_TO_5",
1833 .pme_udesc =
"From Local node to Node 5",
1834 .pme_ucode = 1 << 5,
1836 { .pme_uname =
"LOCAL_TO_6",
1837 .pme_udesc =
"From Local node to Node 6",
1838 .pme_ucode = 1 << 6,
1840 { .pme_uname =
"LOCAL_TO_7",
1841 .pme_udesc =
"From Local node to Node 7",
1842 .pme_ucode = 1 << 7,
1844 { .pme_uname =
"ALL",
1845 .pme_udesc =
"All sub-events selected",
1850{.pme_name =
"CPU_COMMAND_LATENCY_TARGET",
1852 .pme_desc =
"CPU Command Latency to Target Node 0-3/4-7",
1856 { .pme_uname =
"READ_SIZED",
1857 .pme_udesc =
"Read Sized",
1858 .pme_ucode = 1 << 0,
1860 { .pme_uname =
"WRITE_SIZED",
1861 .pme_udesc =
"Write Sized",
1862 .pme_ucode = 1 << 1,
1864 { .pme_uname =
"VICTIM_BLOCK",
1865 .pme_udesc =
"Victim Block",
1866 .pme_ucode = 1 << 2,
1868 { .pme_uname =
"NODE_GROUP_SELECT",
1869 .pme_udesc =
"Node Group Select: 0=Nodes 0-3, 1= Nodes 4-7",
1870 .pme_ucode = 1 << 3,
1872 { .pme_uname =
"LOCAL_TO_0_4",
1873 .pme_udesc =
"From Local node to Node 0/4",
1874 .pme_ucode = 1 << 4,
1876 { .pme_uname =
"LOCAL_TO_1_5",
1877 .pme_udesc =
"From Local node to Node 1/5",
1878 .pme_ucode = 1 << 5,
1880 { .pme_uname =
"LOCAL_TO_2_6",
1881 .pme_udesc =
"From Local node to Node 2/6",
1882 .pme_ucode = 1 << 6,
1884 { .pme_uname =
"LOCAL_TO_3_7",
1885 .pme_udesc =
"From Local node to Node 3/7",
1886 .pme_ucode = 1 << 7,
1888 { .pme_uname =
"ALL",
1889 .pme_udesc =
"All sub-events selected",
1894{.pme_name =
"CPU_REQUEST_TARGET",
1896 .pme_desc =
"CPU Requests to Target Node 0-3/4-7",
1900 { .pme_uname =
"READ_SIZED",
1901 .pme_udesc =
"Read Sized",
1902 .pme_ucode = 1 << 0,
1904 { .pme_uname =
"WRITE_SIZED",
1905 .pme_udesc =
"Write Sized",
1906 .pme_ucode = 1 << 1,
1908 { .pme_uname =
"VICTIM_BLOCK",
1909 .pme_udesc =
"Victim Block",
1910 .pme_ucode = 1 << 2,
1912 { .pme_uname =
"NODE_GROUP_SELECT",
1913 .pme_udesc =
"Node Group Select: 0=Nodes 0-3, 1= Nodes 4-7",
1914 .pme_ucode = 1 << 3,
1916 { .pme_uname =
"LOCAL_TO_0_4",
1917 .pme_udesc =
"From Local node to Node 0/4",
1918 .pme_ucode = 1 << 4,
1920 { .pme_uname =
"LOCAL_TO_1_5",
1921 .pme_udesc =
"From Local node to Node 1/5",
1922 .pme_ucode = 1 << 5,
1924 { .pme_uname =
"LOCAL_TO_2_6",
1925 .pme_udesc =
"From Local node to Node 2/6",
1926 .pme_ucode = 1 << 6,
1928 { .pme_uname =
"LOCAL_TO_3_7",
1929 .pme_udesc =
"From Local node to Node 3/7",
1930 .pme_ucode = 1 << 7,
1932 { .pme_uname =
"ALL",
1933 .pme_udesc =
"All sub-events selected",
1938{.pme_name =
"MEMORY_CONTROLLER_REQUESTS",
1940 .pme_desc =
"Memory Controller Requests",
1944 { .pme_uname =
"WRITE_REQUESTS",
1945 .pme_udesc =
"Write requests sent to the DCT",
1946 .pme_ucode = 1 << 0,
1948 { .pme_uname =
"READ_REQUESTS",
1949 .pme_udesc =
"Read requests (including prefetch requests) sent to the DCT",
1950 .pme_ucode = 1 << 1,
1952 { .pme_uname =
"PREFETCH_REQUESTS",
1953 .pme_udesc =
"Prefetch requests sent to the DCT",
1954 .pme_ucode = 1 << 2,
1956 { .pme_uname =
"32_BYTES_WRITES",
1957 .pme_udesc =
"32 Bytes Sized Writes",
1958 .pme_ucode = 1 << 3,
1960 { .pme_uname =
"64_BYTES_WRITES",
1961 .pme_udesc =
"64 Bytes Sized Writes",
1962 .pme_ucode = 1 << 4,
1964 { .pme_uname =
"32_BYTES_READS",
1965 .pme_udesc =
"32 Bytes Sized Reads",
1966 .pme_ucode = 1 << 5,
1968 { .pme_uname =
"64_BYTES_READS",
1969 .pme_udesc =
"64 Byte Sized Reads",
1970 .pme_ucode = 1 << 6,
1972 { .pme_uname =
"READ_REQUESTS_WHILE_WRITES_REQUESTS",
1973 .pme_udesc =
"Read requests sent to the DCT while writes requests are pending in the DCT",
1974 .pme_ucode = 1 << 7,
1976 { .pme_uname =
"ALL",
1977 .pme_udesc =
"All sub-events selected",
1982{.pme_name =
"READ_REQUEST_L3_CACHE",
1984 .pme_desc =
"Read Request to L3 Cache",
1988 { .pme_uname =
"READ_BLOCK_EXCLUSIVE",
1989 .pme_udesc =
"Read Block Exclusive (Data cache read)",
1990 .pme_ucode = 1 << 0,
1992 { .pme_uname =
"READ_BLOCK_SHARED",
1993 .pme_udesc =
"Read Block Shared (Instruction cache read)",
1994 .pme_ucode = 1 << 1,
1996 { .pme_uname =
"READ_BLOCK_MODIFY",
1997 .pme_udesc =
"Read Block Modify",
1998 .pme_ucode = 1 << 2,
2000 { .pme_uname =
"PREFETCH_ONLY",
2001 .pme_udesc =
"1=Count prefetch only, 0=Count prefetch and non-prefetch",
2002 .pme_ucode = 1 << 3,
2004 { .pme_uname =
"CORE_0_SELECT",
2005 .pme_udesc =
"Core 0 Select",
2008 { .pme_uname =
"CORE_1_SELECT",
2009 .pme_udesc =
"Core 1 Select",
2012 { .pme_uname =
"CORE_2_SELECT",
2013 .pme_udesc =
"Core 2 Select",
2016 { .pme_uname =
"CORE_3_SELECT",
2017 .pme_udesc =
"Core 3 Select",
2020 { .pme_uname =
"CORE_4_SELECT",
2021 .pme_udesc =
"Core 4 Select",
2024 { .pme_uname =
"CORE_5_SELECT",
2025 .pme_udesc =
"Core 5 Select",
2028 { .pme_uname =
"CORE_6_SELECT",
2029 .pme_udesc =
"Core 6 Select",
2032 { .pme_uname =
"CORE_7_SELECT",
2033 .pme_udesc =
"Core 7 Select",
2036 { .pme_uname =
"ALL_CORES",
2037 .pme_udesc =
"All cores",
2042{.pme_name =
"L3_CACHE_MISSES",
2044 .pme_desc =
"L3 Cache Misses",
2048 { .pme_uname =
"READ_BLOCK_EXCLUSIVE",
2049 .pme_udesc =
"Read Block Exclusive (Data cache read)",
2050 .pme_ucode = 1 << 0,
2052 { .pme_uname =
"READ_BLOCK_SHARED",
2053 .pme_udesc =
"Read Block Shared (Instruction cache read)",
2054 .pme_ucode = 1 << 1,
2056 { .pme_uname =
"READ_BLOCK_MODIFY",
2057 .pme_udesc =
"Read Block Modify",
2058 .pme_ucode = 1 << 2,
2060 { .pme_uname =
"PREFETCH_ONLY",
2061 .pme_udesc =
"1=Count prefetch only, 0=Count prefetch and non-prefetch",
2062 .pme_ucode = 1 << 3,
2064 { .pme_uname =
"CORE_0_SELECT",
2065 .pme_udesc =
"Core 0 Select",
2068 { .pme_uname =
"CORE_1_SELECT",
2069 .pme_udesc =
"Core 1 Select",
2072 { .pme_uname =
"CORE_2_SELECT",
2073 .pme_udesc =
"Core 2 Select",
2076 { .pme_uname =
"CORE_3_SELECT",
2077 .pme_udesc =
"Core 3 Select",
2080 { .pme_uname =
"CORE_4_SELECT",
2081 .pme_udesc =
"Core 4 Select",
2084 { .pme_uname =
"CORE_5_SELECT",
2085 .pme_udesc =
"Core 5 Select",
2088 { .pme_uname =
"CORE_6_SELECT",
2089 .pme_udesc =
"Core 6 Select",
2092 { .pme_uname =
"CORE_7_SELECT",
2093 .pme_udesc =
"Core 7 Select",
2096 { .pme_uname =
"ALL_CORES",
2097 .pme_udesc =
"All cores",
2102{.pme_name =
"L3_FILLS_CAUSED_BY_L2_EVICTIONS",
2104 .pme_desc =
"L3 Fills caused by L2 Evictions",
2108 { .pme_uname =
"SHARED",
2109 .pme_udesc =
"Shared",
2110 .pme_ucode = 1 << 0,
2112 { .pme_uname =
"EXCLUSIVE",
2113 .pme_udesc =
"Exclusive",
2114 .pme_ucode = 1 << 1,
2116 { .pme_uname =
"OWNED",
2117 .pme_udesc =
"Owned",
2118 .pme_ucode = 1 << 2,
2120 { .pme_uname =
"MODIFIED",
2121 .pme_udesc =
"Modified",
2122 .pme_ucode = 1 << 3,
2124 { .pme_uname =
"CORE_0_SELECT",
2125 .pme_udesc =
"Core 0 Select",
2128 { .pme_uname =
"CORE_1_SELECT",
2129 .pme_udesc =
"Core 1 Select",
2132 { .pme_uname =
"CORE_2_SELECT",
2133 .pme_udesc =
"Core 2 Select",
2136 { .pme_uname =
"CORE_3_SELECT",
2137 .pme_udesc =
"Core 3 Select",
2140 { .pme_uname =
"CORE_4_SELECT",
2141 .pme_udesc =
"Core 4 Select",
2144 { .pme_uname =
"CORE_5_SELECT",
2145 .pme_udesc =
"Core 5 Select",
2148 { .pme_uname =
"CORE_6_SELECT",
2149 .pme_udesc =
"Core 6 Select",
2152 { .pme_uname =
"CORE_7_SELECT",
2153 .pme_udesc =
"Core 7 Select",
2156 { .pme_uname =
"ALL_CORES",
2157 .pme_udesc =
"All cores",
2162{.pme_name =
"L3_EVICTIONS",
2164 .pme_desc =
"L3 Evictions",
2168 { .pme_uname =
"SHARED",
2169 .pme_udesc =
"Shared",
2170 .pme_ucode = 1 << 0,
2172 { .pme_uname =
"EXCLUSIVE",
2173 .pme_udesc =
"Exclusive",
2174 .pme_ucode = 1 << 1,
2176 { .pme_uname =
"OWNED",
2177 .pme_udesc =
"Owned",
2178 .pme_ucode = 1 << 2,
2180 { .pme_uname =
"MODIFIED",
2181 .pme_udesc =
"Modified",
2182 .pme_ucode = 1 << 3,
2184 { .pme_uname =
"ALL",
2185 .pme_udesc =
"All sub-events selected",
2190{.pme_name =
"NON_CANCELLED_L3_READ_REQUESTS",
2192 .pme_desc =
"Non-canceled L3 Read Requests",
2196 { .pme_uname =
"RDBLK",
2197 .pme_udesc =
"RdBlk",
2198 .pme_ucode = 1 << 0,
2200 { .pme_uname =
"RDBLKS",
2201 .pme_udesc =
"RdBlkS",
2202 .pme_ucode = 1 << 1,
2204 { .pme_uname =
"RDBLKM",
2205 .pme_udesc =
"RdBlkM",
2206 .pme_ucode = 1 << 2,
2208 { .pme_uname =
"PREFETCH_ONLY",
2209 .pme_udesc =
"1=Count prefetch only; 0=Count prefetch and non-prefetch",
2210 .pme_ucode = 1 << 3,
2212 { .pme_uname =
"CORE_0_SELECT",
2213 .pme_udesc =
"Core 0 Select",
2216 { .pme_uname =
"CORE_1_SELECT",
2217 .pme_udesc =
"Core 1 Select",
2220 { .pme_uname =
"CORE_2_SELECT",
2221 .pme_udesc =
"Core 2 Select",
2224 { .pme_uname =
"CORE_3_SELECT",
2225 .pme_udesc =
"Core 3 Select",
2228 { .pme_uname =
"CORE_4_SELECT",
2229 .pme_udesc =
"Core 4 Select",
2232 { .pme_uname =
"CORE_5_SELECT",
2233 .pme_udesc =
"Core 5 Select",
2236 { .pme_uname =
"CORE_6_SELECT",
2237 .pme_udesc =
"Core 6 Select",
2240 { .pme_uname =
"CORE_7_SELECT",
2241 .pme_udesc =
"Core 7 Select",
2244 { .pme_uname =
"ALL_CORES",
2245 .pme_udesc =
"All cores",
2251{.pme_name =
"LS_DISPATCH",
2253 .pme_desc =
"LS Dispatch",
2257 { .pme_uname =
"LOADS",
2258 .pme_udesc =
"Loads",
2259 .pme_ucode = 1 << 0,
2261 { .pme_uname =
"STORES",
2262 .pme_udesc =
"Stores",
2263 .pme_ucode = 1 << 1,
2265 { .pme_uname =
"LOAD_OP_STORES",
2266 .pme_udesc =
"Load-op-Stores",
2267 .pme_ucode = 1 << 2,
2269 { .pme_uname =
"ALL",
2270 .pme_udesc =
"All sub-events selected",
2275{.pme_name =
"EXECUTED_CLFLUSH_INSTRUCTIONS",
2277 .pme_desc =
"Executed CLFLUSH Instructions",
2279{.pme_name =
"L2_PREFETCHER_TRIGGER_EVENTS",
2281 .pme_desc =
"L2 Prefetcher Trigger Events",
2285 { .pme_uname =
"LOAD_L1_MISS_SEEN_BY_PREFETCHER",
2286 .pme_udesc =
"Load L1 miss seen by prefetcher",
2287 .pme_ucode = 1 << 0,
2289 { .pme_uname =
"STORE_L1_MISS_SEEN_BY_PREFETCHER",
2290 .pme_udesc =
"Store L1 miss seen by prefetcher",
2291 .pme_ucode = 1 << 1,
2293 { .pme_uname =
"ALL",
2294 .pme_udesc =
"All sub-events selected",
2299{.pme_name =
"DISPATCH_STALL_FOR_STQ_FULL",
2301 .pme_desc =
"Dispatch Stall for STQ Full",
2305{.pme_name =
"REQUEST_CACHE_STATUS_0",
2307 .pme_desc =
"Request Cache Status 0",
2311 { .pme_uname =
"PROBE_HIT_S",
2312 .pme_udesc =
"Probe Hit S",
2313 .pme_ucode = 1 << 0,
2315 { .pme_uname =
"PROBE_HIT_E",
2316 .pme_udesc =
"Probe Hit E",
2317 .pme_ucode = 1 << 1,
2319 { .pme_uname =
"PROBE_HIT_MUW_OR_O",
2320 .pme_udesc =
"Probe Hit MuW or O",
2321 .pme_ucode = 1 << 2,
2323 { .pme_uname =
"PROBE_HIT_M",
2324 .pme_udesc =
"Probe Hit M",
2325 .pme_ucode = 1 << 3,
2327 { .pme_uname =
"PROBE_MISS",
2328 .pme_udesc =
"Probe Miss",
2329 .pme_ucode = 1 << 4,
2331 { .pme_uname =
"DIRECTED_PROBE",
2332 .pme_udesc =
"Directed Probe",
2333 .pme_ucode = 1 << 5,
2335 { .pme_uname =
"TRACK_CACHE_STAT_FOR_RDBLK",
2336 .pme_udesc =
"Track Cache Stat for RdBlk",
2337 .pme_ucode = 1 << 6,
2339 { .pme_uname =
"TRACK_CACHE_STAT_FOR_RDBLKS",
2340 .pme_udesc =
"Track Cache Stat for RdBlkS",
2341 .pme_ucode = 1 << 7,
2343 { .pme_uname =
"ALL",
2344 .pme_udesc =
"All sub-events selected",
2349{.pme_name =
"REQUEST_CACHE_STATUS_1",
2351 .pme_desc =
"Request Cache Status 1",
2355 { .pme_uname =
"PROBE_HIT_S",
2356 .pme_udesc =
"Probe Hit S",
2357 .pme_ucode = 1 << 0,
2359 { .pme_uname =
"PROBE_HIT_E",
2360 .pme_udesc =
"Probe Hit E",
2361 .pme_ucode = 1 << 1,
2363 { .pme_uname =
"PROBE_HIT_MUW_OR_O",
2364 .pme_udesc =
"Probe Hit MuW or O",
2365 .pme_ucode = 1 << 2,
2367 { .pme_uname =
"PROBE_HIT_M",
2368 .pme_udesc =
"Probe Hit M",
2369 .pme_ucode = 1 << 3,
2371 { .pme_uname =
"PROBE_MISS",
2372 .pme_udesc =
"Probe Miss",
2373 .pme_ucode = 1 << 4,
2375 { .pme_uname =
"DIRECTED_PROBE",
2376 .pme_udesc =
"Directed Probe",
2377 .pme_ucode = 1 << 5,
2379 { .pme_uname =
"TRACK_CACHE_STAT_FOR_CHGTODIRTY",
2380 .pme_udesc =
"Track Cache Stat for ChgToDirty",
2381 .pme_ucode = 1 << 6,
2383 { .pme_uname =
"TRACK_CACHE_STAT_FOR_RDBLKM",
2384 .pme_udesc =
"Track Cache Stat for RdBlkM",
2385 .pme_ucode = 1 << 7,
2387 { .pme_uname =
"ALL",
2388 .pme_udesc =
"All sub-events selected",
2393{.pme_name =
"L3_LATENCY",
2395 .pme_desc =
"L3 Latency",
2399 { .pme_uname =
"L3CYCCOUNT",
2400 .pme_udesc =
"L3CycCount. L3 Request cycle count",
2401 .pme_ucode = 1 << 0,
2403 { .pme_uname =
"L3REQCOUNT",
2404 .pme_udesc =
"L3ReqCount. L3 request count",
2405 .pme_ucode = 1 << 1,
2407 { .pme_uname =
"ALL",
2408 .pme_udesc =
"All sub-events selected",
2416#define PME_AMD64_FAM15H_EVENT_COUNT (sizeof(amd64_fam15h_pe)/sizeof(pme_amd64_entry_t))
2417#define PME_AMD64_FAM15H_CPU_CLK_UNHALTED 30
2418#define PME_AMD64_FAM15H_RETIRED_INSTRUCTIONS 49
static pme_amd64_entry_t amd64_fam15h_pe[]
#define PFMLIB_AMD64_UMASK_COMBO