1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
129
130
131
132
133
134
135
136
137
138
139
140
141
142
143
144
145
146
147
148
149
150
151
152
153
154
155
156
157
158
159
160
161
162
163
164
165
166
167
168
169
170
171
172
173
174
175
176
177
178
179
180
181
182
183
184
185
186
|
--- freebsd/map-k8.c.orig 2016-01-26 16:59:11 UTC
+++ freebsd/map-k8.c
@@ -27,95 +27,95 @@
Native_Event_LabelDescription_t K8Processor_info[] =
{
- { "k8-bu-cpu-clk-unhalted", "Count the number of clock cycles when the CPU is not in the HLT or STPCLCK states" },
- { "k8-bu-fill-request-l2-miss", "Count fill requests that missed in the L2 cache."},
- { "k8-bu-internal-l2-request", "Count internally generated requests to the L2 cache." },
- { "k8-dc-access", "Count data cache accesses including microcode scratchpad accesses."},
- { "k8-dc-copyback", "Count data cache copyback operations."},
- { "k8-dc-dcache-accesses-by-locks", "Count data cache accesses by lock instructions." },
- { "k8-dc-dispatched-prefetch-instructions", "Count the number of dispatched prefetch instructions." },
- { "k8-dc-l1-dtlb-miss-and-l2-dtlb-hit", "Count L1 DTLB misses that are L2 DTLB hits." },
- { "k8-dc-l1-dtlb-miss-and-l2-dtlb-miss", "Count L1 DTLB misses that are also misses in the L2 DTLB." },
- { "k8-dc-microarchitectural-early-cancel-of-an-access", "Count microarchitectural early cancels of data cache accesses." },
- { "k8-dc-microarchitectural-late-cancel-of-an-access", "Count microarchitectural late cancels of data cache accesses." },
- { "k8-dc-misaligned-data-reference", "Count misaligned data references." },
- { "k8-dc-miss", "Count data cache misses."},
- { "k8-dc-one-bit-ecc-error", "Count one bit ECC errors found by the scrubber." },
- { "k8-dc-refill-from-l2", "Count data cache refills from L2 cache." },
- { "k8-dc-refill-from-system", "Count data cache refills from system memory." },
- { "k8-fp-dispatched-fpu-ops", "Count the number of dispatched FPU ops." },
- { "k8-fp-cycles-with-no-fpu-ops-retired", "Count cycles when no FPU ops were retired." },
- { "k8-fp-dispatched-fpu-fast-flag-ops", "Count dispatched FPU ops that use the fast flag interface." },
- { "k8-fr-decoder-empty", "Count cycles when there was nothing to dispatch." },
- { "k8-fr-dispatch-stalls", "Count all dispatch stalls." },
- { "k8-fr-dispatch-stall-for-segment-load", "Count dispatch stalls for segment loads." },
- { "k8-fr-dispatch-stall-for-serialization", "Count dispatch stalls for serialization." },
- { "k8-fr-dispatch-stall-from-branch-abort-to-retire", "Count dispatch stalls from branch abort to retiral." },
- { "k8-fr-dispatch-stall-when-fpu-is-full", "Count dispatch stalls when the FPU is full." },
- { "k8-fr-dispatch-stall-when-ls-is-full", "Count dispatch stalls when the load/store unit is full." },
- { "k8-fr-dispatch-stall-when-reorder-buffer-is-full", "Count dispatch stalls when the reorder buffer is full." },
- { "k8-fr-dispatch-stall-when-reservation-stations-are-full", "Count dispatch stalls when reservation stations are full." },
- { "k8-fr-dispatch-stall-when-waiting-for-all-to-be-quiet", "Count dispatch stalls when waiting for all to be quiet." },
- { "k8-fr-dispatch-stall-when-waiting-far-xfer-or-resync-branch-pending", "Count dispatch stalls when a far control transfer or a resync branch is pending." },
- { "k8-fr-fpu-exceptions", "Count FPU exceptions." },
- { "k8-fr-interrupts-masked-cycles", "Count cycles when interrupts were masked." },
- { "k8-fr-interrupts-masked-while-pending-cycles", "Count cycles while interrupts were masked while pending" },
- { "k8-fr-number-of-breakpoints-for-dr0", "Count the number of breakpoints for DR0." },
- { "k8-fr-number-of-breakpoints-for-dr1", "Count the number of breakpoints for DR1." },
- { "k8-fr-number-of-breakpoints-for-dr2", "Count the number of breakpoints for DR2." },
- { "k8-fr-number-of-breakpoints-for-dr3", "Count the number of breakpoints for DR3." },
- { "k8-fr-retired-branches", "Count retired branches including exceptions and interrupts." },
- { "k8-fr-retired-branches-mispredicted", "Count mispredicted retired branches." },
- { "k8-fr-retired-far-control-transfers", "Count retired far control transfers" },
- { "k8-fr-retired-fastpath-double-op-instructions", "Count retired fastpath double op instructions." },
- { "k8-fr-retired-fpu-instructions", "Count retired FPU instructions." },
- { "k8-fr-retired-near-returns", "Count retired near returns." },
- { "k8-fr-retired-near-returns-mispredicted", "Count mispredicted near returns." },
- { "k8-fr-retired-resyncs", "Count retired resyncs" },
- { "k8-fr-retired-taken-hardware-interrupts", "Count retired taken hardware interrupts."},
- { "k8-fr-retired-taken-branches", "Count retired taken branches." },
- { "k8-fr-retired-taken-branches-mispredicted", "Count retired taken branches that were mispredicted." },
- { "k8-fr-retired-taken-branches-mispredicted-by-addr-miscompare", "Count retired taken branches that were mispredicted only due to an address miscompare." },
- { "k8-fr-retired-uops", "Count retired uops." },
- { "k8-fr-retired-x86-instructions", "Count retired x86 instructions including exceptions and interrupts"},
- { "k8-ic-fetch", "Count instruction cache fetches." },
- { "k8-ic-instruction-fetch-stall", "Count cycles in stalls due to instruction fetch." },
- { "k8-ic-l1-itlb-miss-and-l2-itlb-hit", "Count L1 ITLB misses that are L2 ITLB hits." },
- { "k8-ic-l1-itlb-miss-and-l2-itlb-miss", "Count ITLB misses that miss in both L1 and L2 ITLBs." },
- { "k8-ic-microarchitectural-resync-by-snoop", "Count microarchitectural resyncs caused by snoops." },
- { "k8-ic-miss", "Count instruction cache misses." },
- { "k8-ic-refill-from-l2", "Count instruction cache refills from L2 cache." },
- { "k8-ic-refill-from-system", "Count instruction cache refills from system memory." },
- { "k8-ic-return-stack-hits", "Count hits to the return stack." },
- { "k8-ic-return-stack-overflow", "Count overflows of the return stack." },
- { "k8-ls-buffer2-full", "Count load/store buffer2 full events." },
- { "k8-ls-locked-operation", "Count locked operations." },
- { "k8-ls-microarchitectural-late-cancel", "Count microarchitectural late cancels of operations in the load/store unit" },
- { "k8-ls-microarchitectural-resync-by-self-modifying-code", "Count microarchitectural resyncs caused by self-modifying code." },
- { "k8-ls-microarchitectural-resync-by-snoop", "Count microarchitectural resyncs caused by snoops." },
- { "k8-ls-retired-cflush-instructions", "Count retired CFLUSH instructions." },
- { "k8-ls-retired-cpuid-instructions", "Count retired CPUID instructions." },
- { "k8-ls-segment-register-load", "Count segment register loads." },
- { "k8-nb-memory-controller-bypass-saturation", "Count memory controller bypass counter saturation events." },
- { "k8-nb-memory-controller-dram-slots-missed", "Count memory controller DRAM command slots missed (in MemClks)." },
- { "k8-nb-memory-controller-page-access-event", "Count memory controller page access events." },
- { "k8-nb-memory-controller-page-table-overflow", "Count memory control page table overflow events." },
- { "k8-nb-probe-result", "Count probe events." },
- { "k8-nb-sized-commands", "Count sized commands issued." },
- { "k8-nb-memory-controller-turnaround", "Count memory control turnaround events." },
- { "k8-nb-ht-bus0-bandwidth", "Count events on the HyperTransport(tm) bus #0" },
- { "k8-nb-ht-bus1-bandwidth", "Count events on the HyperTransport(tm) bus #1" },
- { "k8-nb-ht-bus2-bandwidth", "Count events on the HyperTransport(tm) bus #2" },
+ { "BU_CPU_CLK_UNHALTED", "Count the number of clock cycles when the CPU is not in the HLT or STPCLCK states" },
+ { "BU_FILL_REQUEST_L2_MISS", "Count fill requests that missed in the L2 cache."},
+ { "BU_INTERNAL_L2_REQUEST", "Count internally generated requests to the L2 cache." },
+ { "DC_ACCESS", "Count data cache accesses including microcode scratchpad accesses."},
+ { "DC_COPYBACK", "Count data cache copyback operations."},
+ { "DC_DCACHE_ACCESSES_BY_LOCKS", "Count data cache accesses by lock instructions." },
+ { "DC_DISPATCHED_PREFETCH_INSTRUCTIONS", "Count the number of dispatched prefetch instructions." },
+ { "DC_L1_DTLB_MISS_AND_L2_DTLB_HIT", "Count L1 DTLB misses that are L2 DTLB hits." },
+ { "DC_L1_DTLB_MISS_AND_L2_DTLB_MISS", "Count L1 DTLB misses that are also misses in the L2 DTLB." },
+ { "DC_MICROARCHITECTURAL_EARLY_CANCEL", "Count microarchitectural early cancels of data cache accesses." },
+ { "DC_MICROARCHITECTURAL_LATE_CANCEL", "Count microarchitectural late cancels of data cache accesses." },
+ { "DC_MISALIGNED_DATA_REFERENCE", "Count misaligned data references." },
+ { "DC_MISS", "Count data cache misses."},
+ { "DC_ONE_BIT_ECC_ERROR", "Count one bit ECC errors found by the scrubber." },
+ { "DC_REFILL_FROM_L2", "Count data cache refills from L2 cache." },
+ { "DC_REFILL_FROM_SYSTEM", "Count data cache refills from system memory." },
+ { "FP_DISPATCHED_FPU_OPS", "Count the number of dispatched FPU ops." },
+ { "FP_CYCLES_WITH_NO_FPU_OPS_RETIRED", "Count cycles when no FPU ops were retired." },
+ { "FP_DISPATCHED_FPU_FAST_FLAG_OPS", "Count dispatched FPU ops that use the fast flag interface." },
+ { "FR_DECODER_EMPTY", "Count cycles when there was nothing to dispatch." },
+ { "FR_DISPATCH_STALLS", "Count all dispatch stalls." },
+ { "FR_DISPATCH_STALL_FOR_SEGMENT_LOAD", "Count dispatch stalls for segment loads." },
+ { "FR_DISPATCH_STALL_FOR_SERIALIZATION", "Count dispatch stalls for serialization." },
+ { "FR_DISPATCH_STALL_FROM_BRANCH_ABORT_TO_RETIRE", "Count dispatch stalls from branch abort to retiral." },
+ { "FR_DISPATCH_STALL_WHEN_FPU_IS_FULL", "Count dispatch stalls when the FPU is full." },
+ { "FR_DISPATCH_STALL_WHEN_LS_IS_FULL", "Count dispatch stalls when the load/store unit is full." },
+ { "FR_DISPATCH_STALL_WHEN_REORDER_BUFFER_IS_FULL", "Count dispatch stalls when the reorder buffer is full." },
+ { "FR_DISPATCH_STALL_WHEN_RESERVATION_STATIONS_ARE_FULL", "Count dispatch stalls when reservation stations are full." },
+ { "FR_DISPATCH_STALL_WHEN_WAITING_FOR_ALL_TO_BE_QUIET", "Count dispatch stalls when waiting for all to be quiet." },
+ { "FR_DISPATCH_STALL_WHEN_FAR_XFER_OR_RESYNC_BRANCH_PENDING", "Count dispatch stalls when a far control transfer or a resync branch is pending." },
+ { "FR_FPU_EXCEPTIONS", "Count FPU exceptions." },
+ { "FR_INTERRUPTS_MASKED_CYCLES", "Count cycles when interrupts were masked." },
+ { "FR_INTERRUPTS_MASKED_WHILE_PENDING_CYCLES", "Count cycles while interrupts were masked while pending" },
+ { "FR_NUMBER_OF_BREAKPOINTS_FOR_DR0", "Count the number of breakpoints for DR0." },
+ { "FR_NUMBER_OF_BREAKPOINTS_FOR_DR1", "Count the number of breakpoints for DR1." },
+ { "FR_NUMBER_OF_BREAKPOINTS_FOR_DR2", "Count the number of breakpoints for DR2." },
+ { "FR_NUMBER_OF_BREAKPOINTS_FOR_DR3", "Count the number of breakpoints for DR3." },
+ { "FR_RETIRED_BRANCHES", "Count retired branches including exceptions and interrupts." },
+ { "FR_RETIRED_BRANCHES_MISPREDICTED", "Count mispredicted retired branches." },
+ { "FR_RETIRED_FAR_CONTROL_TRANSFERS", "Count retired far control transfers" },
+ { "FR_RETIRED_FASTPATH_DOUBLE_OP_INSTRUCTIONS", "Count retired fastpath double op instructions." },
+ { "FR_RETIRED_FPU_INSTRUCTIONS", "Count retired FPU instructions." },
+ { "FR_RETIRED_NEAR_RETURNS", "Count retired near returns." },
+ { "FR_RETIRED_NEAR_RETURNS_MISPREDICTED", "Count mispredicted near returns." },
+ { "FR_RETIRED_RESYNCS", "Count retired resyncs" },
+ { "FR_TAKEN_HARDWARE_INTERRUPTS", "Count retired taken hardware interrupts."},
+ { "FR_RETIRED_TAKEN_BRANCHES", "Count retired taken branches." },
+ { "FR_RETIRED_TAKEN_BRANCHES_MISPREDICTED", "Count retired taken branches that were mispredicted." },
+ { "FR_RETIRED_TAKEN_BRANCHES_MISPREDICTED_BY_ADDR_MISCOMPARE", "Count retired taken branches that were mispredicted only due to an address miscompare." },
+ { "FR_RETIRED_UOPS", "Count retired uops." },
+ { "FR_RETIRED_X86_INSTRUCTIONS", "Count retired x86 instructions including exceptions and interrupts"},
+ { "IC_FETCH", "Count instruction cache fetches." },
+ { "IC_INSTRUCTION_FETCH_STALL", "Count cycles in stalls due to instruction fetch." },
+ { "IC_L1_ITLB_MISS_AND_L2_ITLB_HIT", "Count L1 ITLB misses that are L2 ITLB hits." },
+ { "IC_L1_ITLB_MISS_AND_L2_ITLB_MISS", "Count ITLB misses that miss in both L1 and L2 ITLBs." },
+ { "IC_MICROARCHITECTURAL_RESYNC_BY_SNOOP", "Count microarchitectural resyncs caused by snoops." },
+ { "IC_MISS", "Count instruction cache misses." },
+ { "IC_REFILL_FROM_L2", "Count instruction cache refills from L2 cache." },
+ { "IC_REFILL_FROM_SYSTEM", "Count instruction cache refills from system memory." },
+ { "IC_RETURN_STACK_HIT", "Count hits to the return stack." },
+ { "IC_RETURN_STACK_OVERFLOW", "Count overflows of the return stack." },
+ { "LS_BUFFER2_FULL", "Count load/store buffer2 full events." },
+ { "LS_LOCKED_OPERATION", "Count locked operations." },
+ { "LS_MICROARCHITECTURAL_LATE_CANCEL", "Count microarchitectural late cancels of operations in the load/store unit" },
+ { "LS_MICROARCHITECTURAL_RESYNC_BY_SELF_MODIFYING_CODE", "Count microarchitectural resyncs caused by self_modifying code." },
+ { "LS_MICROARCHITECTURAL_RESYNC_BY_SNOOP", "Count microarchitectural resyncs caused by snoops." },
+ { "LS_RETIRED_CFLUSH_INSTRUCTIONS", "Count retired CFLUSH instructions." },
+ { "LS_RETIRED_CPUID_INSTRUCTIONS", "Count retired CPUID instructions." },
+ { "LS_SEGMENT_REGISTER_LOAD", "Count segment register loads." },
+ { "NB_MEMORY_CONTROLLER_BYPASS_SATURATION", "Count memory controller bypass counter saturation events." },
+ { "NB_MEMORY_CONTROLLER_DRAM_COMMAND_SLOTS_MISSED", "Count memory controller DRAM command slots missed (in MemClks)." },
+ { "NB_MEMORY_CONTROLLER_PAGE_ACCESS_EVENT", "Count memory controller page access events." },
+ { "NB_MEMORY_CONTROLLER_PAGE_TABLE_OVERFLOW", "Count memory control page table overflow events." },
+ { "NB_PROBE_RESULT", "Count probe events." },
+ { "NB_SIZED_COMMANDS", "Count sized commands issued." },
+ { "NB_MEMORY_CONTROLLER_TURNAROUND", "Count memory control turnaround events." },
+ { "NB_HT_BUS0_BANDWIDTH", "Count events on the HyperTransport(tm) bus #0" },
+ { "NB_HT_BUS1_BANDWIDTH", "Count events on the HyperTransport(tm) bus #1" },
+ { "NB_HT_BUS2_BANDWIDTH", "Count events on the HyperTransport(tm) bus #2" },
/* Special counters with some masks activated */
- { "k8-dc-refill-from-l2,mask=+modified,+owner,+exclusive,+shared", "Count data cache refills from L2 cache (in MOES state)." },
- { "k8-dc-refill-from-l2,mask=+owner,+exclusive,+shared", "Count data cache refills from L2 cache (in OES state)." },
- { "k8-dc-refill-from-l2,mask=+modified", "Count data cache refills from L2 cache (in M state)." },
- { "k8-dc-refill-from-system,mask=+modified,+owner,+exclusive,+shared", "Count data cache refills from system memory (in MOES state)." },
- { "k8-dc-refill-from-system,mask=+owner,+exclusive,+shared", "Count data cache refills from system memory (in OES state)." },
- { "k8-dc-refill-from-system,mask=+modified", "Count data cache refills from system memory (in M state)." },
- { "k8-fp-dispatched-fpu-ops,mask=+multiply-pipe-junk-ops", "Count the number of dispatched FPU multiplies." },
- { "k8-fp-dispatched-fpu-ops,mask=+add-pipe-junk-ops", "Count the number of dispatched FPU adds." },
- { "k8-fp-dispatched-fpu-ops,mask=+multiply-pipe-junk-ops,+add-pipe-junk-ops", "Count the number of dispatched FPU adds and multiplies." },
+ { "DC_REFILL_FROM_L2_MOES,mask=+modified,+owner,+exclusive,+shared", "Count data cache refills from L2 cache (in MOES state)." },
+ { "DC_REFILL_FROM_L2_OES,mask=+owner,+exclusive,+shared", "Count data cache refills from L2 cache (in OES state)." },
+ { "DC_REFILL_FROM_L2_M,mask=+modified", "Count data cache refills from L2 cache (in M state)." },
+ { "DC_REFILL_FROM_SYSTEM_MOES,mask=+modified,+owner,+exclusive,+shared", "Count data cache refills from system memory (in MOES state)." },
+ { "DC_REFILL_FROM_SYSTEM_OES,mask=+owner,+exclusive,+shared", "Count data cache refills from system memory (in OES state)." },
+ { "DC_REFILL_FROM_SYSTEM_M,mask=+modified", "Count data cache refills from system memory (in M state)." },
+ { "FP_DISPATCHED_FPU_MULS,mask=+multiply_pipe_junk_ops", "Count the number of dispatched FPU multiplies." },
+ { "FP_DISPATCHED_FPU_ADDS,mask=+add_pipe_junk_ops", "Count the number of dispatched FPU adds." },
+ { "FP_DISPATCHED_FPU_ADDS_AND_MULS,mask=+multiply_pipe_junk_ops,+add_pipe_junk_ops", "Count the number of dispatched FPU adds and multiplies." },
{ NULL, NULL }
};
|