36 .pme_desc =
"Data Cache Accesses",
38{.pme_name =
"DATA_CACHE_MISSES",
40 .pme_desc =
"Data Cache Misses",
42{.pme_name =
"DATA_CACHE_REFILLS",
44 .pme_desc =
"Data Cache Refills from L2",
48 { .pme_uname =
"L2_INVALID",
49 .pme_udesc =
"Invalid line from L2",
52 { .pme_uname =
"L2_SHARED",
53 .pme_udesc =
"Shared-state line from L2",
56 { .pme_uname =
"L2_EXCLUSIVE",
57 .pme_udesc =
"Exclusive-state line from L2",
60 { .pme_uname =
"L2_OWNED",
61 .pme_udesc =
"Owned-state line from L2",
64 { .pme_uname =
"L2_MODIFIED",
65 .pme_udesc =
"Modified-state line from L2",
69 .pme_udesc =
"Shared, Exclusive, Owned, Modified State Refills",
74{.pme_name =
"DATA_CACHE_REFILLS_FROM_SYSTEM",
76 .pme_desc =
"Data Cache Refills from System",
80 { .pme_uname =
"INVALID",
81 .pme_udesc =
"Invalid",
84 { .pme_uname =
"SHARED",
85 .pme_udesc =
"Shared",
88 { .pme_uname =
"EXCLUSIVE",
89 .pme_udesc =
"Exclusive",
92 { .pme_uname =
"OWNED",
96 { .pme_uname =
"MODIFIED",
97 .pme_udesc =
"Modified",
100 { .pme_uname =
"ALL",
101 .pme_udesc =
"Invalid, Shared, Exclusive, Owned, Modified",
106{.pme_name =
"DATA_CACHE_LINES_EVICTED",
108 .pme_desc =
"Data Cache Lines Evicted",
112 { .pme_uname =
"INVALID",
113 .pme_udesc =
"Invalid",
116 { .pme_uname =
"SHARED",
117 .pme_udesc =
"Shared",
120 { .pme_uname =
"EXCLUSIVE",
121 .pme_udesc =
"Exclusive",
124 { .pme_uname =
"OWNED",
125 .pme_udesc =
"Owned",
128 { .pme_uname =
"MODIFIED",
129 .pme_udesc =
"Modified",
132 { .pme_uname =
"ALL",
133 .pme_udesc =
"Invalid, Shared, Exclusive, Owned, Modified",
138{.pme_name =
"L1_DTLB_MISS_AND_L2_DTLB_HIT",
140 .pme_desc =
"L1 DTLB Miss and L2 DTLB Hit",
142{.pme_name =
"L1_DTLB_AND_L2_DTLB_MISS",
144 .pme_desc =
"L1 DTLB and L2 DTLB Miss",
146{.pme_name =
"MISALIGNED_ACCESSES",
148 .pme_desc =
"Misaligned Accesses",
151{.pme_name =
"CPU_CLK_UNHALTED",
153 .pme_desc =
"CPU Clocks not Halted",
155{.pme_name =
"INSTRUCTION_CACHE_FETCHES",
157 .pme_desc =
"Instruction Cache Fetches",
159{.pme_name =
"INSTRUCTION_CACHE_MISSES",
161 .pme_desc =
"Instruction Cache Misses",
163{.pme_name =
"L1_ITLB_MISS_AND_L2_ITLB_HIT",
165 .pme_desc =
"L1 ITLB Miss and L2 ITLB Hit",
167{.pme_name =
"L1_ITLB_MISS_AND_L2_ITLB_MISS",
169 .pme_desc =
"L1 ITLB Miss and L2 ITLB Miss",
171{.pme_name =
"RETIRED_INSTRUCTIONS",
173 .pme_desc =
"Retired Instructions (includes exceptions, interrupts, resyncs)",
175{.pme_name =
"RETIRED_UOPS",
177 .pme_desc =
"Retired uops",
179{.pme_name =
"RETIRED_BRANCH_INSTRUCTIONS",
181 .pme_desc =
"Retired Branch Instructions",
183{.pme_name =
"RETIRED_MISPREDICTED_BRANCH_INSTRUCTIONS",
185 .pme_desc =
"Retired Mispredicted Branch Instructions",
187{.pme_name =
"RETIRED_TAKEN_BRANCH_INSTRUCTIONS",
189 .pme_desc =
"Retired Taken Branch Instructions",
191{.pme_name =
"RETIRED_TAKEN_BRANCH_INSTRUCTIONS_MISPREDICTED",
193 .pme_desc =
"Retired Taken Branch Instructions Mispredicted",
195{.pme_name =
"RETIRED_FAR_CONTROL_TRANSFERS",
197 .pme_desc =
"Retired Far Control Transfers",
199{.pme_name =
"RETIRED_BRANCH_RESYNCS",
201 .pme_desc =
"Retired Branch Resyncs (only non-control transfer branches)",
203{.pme_name =
"INTERRUPTS_MASKED_CYCLES",
205 .pme_desc =
"Interrupts-Masked Cycles",
207{.pme_name =
"INTERRUPTS_MASKED_CYCLES_WITH_INTERRUPT_PENDING",
209 .pme_desc =
"Interrupts-Masked Cycles with Interrupt Pending",
211{.pme_name =
"INTERRUPTS_TAKEN",
213 .pme_desc =
"Interrupts Taken",
217#define PME_AMD64_K7_EVENT_COUNT (sizeof(amd64_k7_pe)/sizeof(pme_amd64_entry_t))
218#define PME_AMD64_K7_CPU_CLK_UNHALTED 8
219#define PME_AMD64_K7_RETIRED_INSTRUCTIONS 13
static pme_amd64_entry_t amd64_k7_pe[]
#define PFMLIB_AMD64_UMASK_COMBO