FD.io VPP  v20.01-48-g3e0dafb74
Vector Packet Processing
perfmon_intel_clx.c
Go to the documentation of this file.
1 
3 
4 static perfmon_intel_pmc_cpu_model_t cpu_model_table[] = {
5  {0x55, 0x05, 1},
6  {0x55, 0x06, 1},
7  {0x55, 0x07, 1},
8  {0x55, 0x08, 1},
9  {0x55, 0x09, 1},
10  {0x55, 0x0A, 1},
11  {0x55, 0x0B, 1},
12  {0x55, 0x0C, 1},
13  {0x55, 0x0D, 1},
14  {0x55, 0x0E, 1},
15  {0x55, 0x0F, 1},
16 
17 };
18 
19 static perfmon_intel_pmc_event_t event_table[] = {
20  {
21  .event_code = {0x00},
22  .umask = 0x01,
23  .event_name = "inst_retired.any",
24  },
25  {
26  .event_code = {0x00},
27  .umask = 0x02,
28  .event_name = "cpu_clk_unhalted.thread",
29  },
30  {
31  .event_code = {0x00},
32  .umask = 0x02,
33  .event_name = "cpu_clk_unhalted.thread_any",
34  },
35  {
36  .event_code = {0x00},
37  .umask = 0x03,
38  .event_name = "cpu_clk_unhalted.ref_tsc",
39  },
40  {
41  .event_code = {0x03},
42  .umask = 0x02,
43  .event_name = "ld_blocks.store_forward",
44  },
45  {
46  .event_code = {0x03},
47  .umask = 0x08,
48  .event_name = "ld_blocks.no_sr",
49  },
50  {
51  .event_code = {0x07},
52  .umask = 0x01,
53  .event_name = "ld_blocks_partial.address_alias",
54  },
55  {
56  .event_code = {0x08},
57  .umask = 0x01,
58  .event_name = "dtlb_load_misses.miss_causes_a_walk",
59  },
60  {
61  .event_code = {0x08},
62  .umask = 0x02,
63  .event_name = "dtlb_load_misses.walk_completed_4k",
64  },
65  {
66  .event_code = {0x08},
67  .umask = 0x04,
68  .event_name = "dtlb_load_misses.walk_completed_2m_4m",
69  },
70  {
71  .event_code = {0x08},
72  .umask = 0x08,
73  .event_name = "dtlb_load_misses.walk_completed_1g",
74  },
75  {
76  .event_code = {0x08},
77  .umask = 0x0E,
78  .event_name = "dtlb_load_misses.walk_completed",
79  },
80  {
81  .event_code = {0x08},
82  .umask = 0x10,
83  .event_name = "dtlb_load_misses.walk_pending",
84  },
85  {
86  .event_code = {0x08},
87  .umask = 0x20,
88  .event_name = "dtlb_load_misses.stlb_hit",
89  },
90  {
91  .event_code = {0x09},
92  .umask = 0x01,
93  .event_name = "memory_disambiguation.history_reset",
94  },
95  {
96  .event_code = {0x0D},
97  .umask = 0x01,
98  .event_name = "int_misc.recovery_cycles",
99  },
100  {
101  .event_code = {0x0D},
102  .umask = 0x01,
103  .event_name = "int_misc.recovery_cycles_any",
104  },
105  {
106  .event_code = {0x0D},
107  .umask = 0x80,
108  .event_name = "int_misc.clear_resteer_cycles",
109  },
110  {
111  .event_code = {0x0E},
112  .umask = 0x01,
113  .event_name = "uops_issued.stall_cycles",
114  },
115  {
116  .event_code = {0x0E},
117  .umask = 0x01,
118  .event_name = "uops_issued.any",
119  },
120  {
121  .event_code = {0x0E},
122  .umask = 0x20,
123  .event_name = "uops_issued.slow_lea",
124  },
125  {
126  .event_code = {0x14},
127  .umask = 0x01,
128  .event_name = "arith.divider_active",
129  },
130  {
131  .event_code = {0x24},
132  .umask = 0x21,
133  .event_name = "l2_rqsts.demand_data_rd_miss",
134  },
135  {
136  .event_code = {0x24},
137  .umask = 0x22,
138  .event_name = "l2_rqsts.rfo_miss",
139  },
140  {
141  .event_code = {0x24},
142  .umask = 0x24,
143  .event_name = "l2_rqsts.code_rd_miss",
144  },
145  {
146  .event_code = {0x24},
147  .umask = 0x27,
148  .event_name = "l2_rqsts.all_demand_miss",
149  },
150  {
151  .event_code = {0x24},
152  .umask = 0x38,
153  .event_name = "l2_rqsts.pf_miss",
154  },
155  {
156  .event_code = {0x24},
157  .umask = 0x3F,
158  .event_name = "l2_rqsts.miss",
159  },
160  {
161  .event_code = {0x24},
162  .umask = 0xc1,
163  .event_name = "l2_rqsts.demand_data_rd_hit",
164  },
165  {
166  .event_code = {0x24},
167  .umask = 0xc2,
168  .event_name = "l2_rqsts.rfo_hit",
169  },
170  {
171  .event_code = {0x24},
172  .umask = 0xc4,
173  .event_name = "l2_rqsts.code_rd_hit",
174  },
175  {
176  .event_code = {0x24},
177  .umask = 0xd8,
178  .event_name = "l2_rqsts.pf_hit",
179  },
180  {
181  .event_code = {0x24},
182  .umask = 0xE1,
183  .event_name = "l2_rqsts.all_demand_data_rd",
184  },
185  {
186  .event_code = {0x24},
187  .umask = 0xE2,
188  .event_name = "l2_rqsts.all_rfo",
189  },
190  {
191  .event_code = {0x24},
192  .umask = 0xE4,
193  .event_name = "l2_rqsts.all_code_rd",
194  },
195  {
196  .event_code = {0x24},
197  .umask = 0xe7,
198  .event_name = "l2_rqsts.all_demand_references",
199  },
200  {
201  .event_code = {0x24},
202  .umask = 0xF8,
203  .event_name = "l2_rqsts.all_pf",
204  },
205  {
206  .event_code = {0x24},
207  .umask = 0xFF,
208  .event_name = "l2_rqsts.references",
209  },
210  {
211  .event_code = {0x28},
212  .umask = 0x07,
213  .event_name = "core_power.lvl0_turbo_license",
214  },
215  {
216  .event_code = {0x28},
217  .umask = 0x18,
218  .event_name = "core_power.lvl1_turbo_license",
219  },
220  {
221  .event_code = {0x28},
222  .umask = 0x20,
223  .event_name = "core_power.lvl2_turbo_license",
224  },
225  {
226  .event_code = {0x28},
227  .umask = 0x40,
228  .event_name = "core_power.throttle",
229  },
230  {
231  .event_code = {0x2E},
232  .umask = 0x41,
233  .event_name = "longest_lat_cache.miss",
234  },
235  {
236  .event_code = {0x2E},
237  .umask = 0x4F,
238  .event_name = "longest_lat_cache.reference",
239  },
240  {
241  .event_code = {0x32},
242  .umask = 0x01,
243  .event_name = "sw_prefetch_access.nta",
244  },
245  {
246  .event_code = {0x32},
247  .umask = 0x02,
248  .event_name = "sw_prefetch_access.t0",
249  },
250  {
251  .event_code = {0x32},
252  .umask = 0x04,
253  .event_name = "sw_prefetch_access.t1_t2",
254  },
255  {
256  .event_code = {0x32},
257  .umask = 0x08,
258  .event_name = "sw_prefetch_access.prefetchw",
259  },
260  {
261  .event_code = {0x3C},
262  .umask = 0x00,
263  .event_name = "cpu_clk_unhalted.thread_p",
264  },
265  {
266  .event_code = {0x3C},
267  .umask = 0x00,
268  .event_name = "cpu_clk_unhalted.thread_p_any",
269  },
270  {
271  .event_code = {0x3C},
272  .umask = 0x00,
273  .event_name = "cpu_clk_unhalted.ring0_trans",
274  },
275  {
276  .event_code = {0x3C},
277  .umask = 0x01,
278  .event_name = "cpu_clk_thread_unhalted.ref_xclk",
279  },
280  {
281  .event_code = {0x3C},
282  .umask = 0x01,
283  .event_name = "cpu_clk_thread_unhalted.ref_xclk_any",
284  },
285  {
286  .event_code = {0x3C},
287  .umask = 0x01,
288  .event_name = "cpu_clk_unhalted.ref_xclk_any",
289  },
290  {
291  .event_code = {0x3C},
292  .umask = 0x01,
293  .event_name = "cpu_clk_unhalted.ref_xclk",
294  },
295  {
296  .event_code = {0x3C},
297  .umask = 0x02,
298  .event_name = "cpu_clk_thread_unhalted.one_thread_active",
299  },
300  {
301  .event_code = {0x48},
302  .umask = 0x01,
303  .event_name = "l1d_pend_miss.pending_cycles",
304  },
305  {
306  .event_code = {0x48},
307  .umask = 0x01,
308  .event_name = "l1d_pend_miss.pending",
309  },
310  {
311  .event_code = {0x48},
312  .umask = 0x02,
313  .event_name = "l1d_pend_miss.fb_full",
314  },
315  {
316  .event_code = {0x49},
317  .umask = 0x01,
318  .event_name = "dtlb_store_misses.miss_causes_a_walk",
319  },
320  {
321  .event_code = {0x49},
322  .umask = 0x02,
323  .event_name = "dtlb_store_misses.walk_completed_4k",
324  },
325  {
326  .event_code = {0x49},
327  .umask = 0x04,
328  .event_name = "dtlb_store_misses.walk_completed_2m_4m",
329  },
330  {
331  .event_code = {0x49},
332  .umask = 0x08,
333  .event_name = "dtlb_store_misses.walk_completed_1g",
334  },
335  {
336  .event_code = {0x49},
337  .umask = 0x0E,
338  .event_name = "dtlb_store_misses.walk_completed",
339  },
340  {
341  .event_code = {0x49},
342  .umask = 0x10,
343  .event_name = "dtlb_store_misses.walk_pending",
344  },
345  {
346  .event_code = {0x49},
347  .umask = 0x20,
348  .event_name = "dtlb_store_misses.stlb_hit",
349  },
350  {
351  .event_code = {0x4C},
352  .umask = 0x01,
353  .event_name = "load_hit_pre.sw_pf",
354  },
355  {
356  .event_code = {0x4F},
357  .umask = 0x10,
358  .event_name = "ept.walk_pending",
359  },
360  {
361  .event_code = {0x51},
362  .umask = 0x01,
363  .event_name = "l1d.replacement",
364  },
365  {
366  .event_code = {0x54},
367  .umask = 0x01,
368  .event_name = "tx_mem.abort_conflict",
369  },
370  {
371  .event_code = {0x54},
372  .umask = 0x02,
373  .event_name = "tx_mem.abort_capacity",
374  },
375  {
376  .event_code = {0x54},
377  .umask = 0x04,
378  .event_name = "tx_mem.abort_hle_store_to_elided_lock",
379  },
380  {
381  .event_code = {0x54},
382  .umask = 0x08,
383  .event_name = "tx_mem.abort_hle_elision_buffer_not_empty",
384  },
385  {
386  .event_code = {0x54},
387  .umask = 0x10,
388  .event_name = "tx_mem.abort_hle_elision_buffer_mismatch",
389  },
390  {
391  .event_code = {0x54},
392  .umask = 0x20,
393  .event_name = "tx_mem.abort_hle_elision_buffer_unsupported_alignment",
394  },
395  {
396  .event_code = {0x54},
397  .umask = 0x40,
398  .event_name = "tx_mem.hle_elision_buffer_full",
399  },
400  {
401  .event_code = {0x59},
402  .umask = 0x01,
403  .event_name = "partial_rat_stalls.scoreboard",
404  },
405  {
406  .event_code = {0x5d},
407  .umask = 0x01,
408  .event_name = "tx_exec.misc1",
409  },
410  {
411  .event_code = {0x5d},
412  .umask = 0x02,
413  .event_name = "tx_exec.misc2",
414  },
415  {
416  .event_code = {0x5d},
417  .umask = 0x04,
418  .event_name = "tx_exec.misc3",
419  },
420  {
421  .event_code = {0x5d},
422  .umask = 0x08,
423  .event_name = "tx_exec.misc4",
424  },
425  {
426  .event_code = {0x5d},
427  .umask = 0x10,
428  .event_name = "tx_exec.misc5",
429  },
430  {
431  .event_code = {0x5E},
432  .umask = 0x01,
433  .event_name = "rs_events.empty_end",
434  },
435  {
436  .event_code = {0x5E},
437  .umask = 0x01,
438  .event_name = "rs_events.empty_cycles",
439  },
440  {
441  .event_code = {0x60},
442  .umask = 0x01,
443  .event_name = "offcore_requests_outstanding.cycles_with_demand_data_rd",
444  },
445  {
446  .event_code = {0x60},
447  .umask = 0x01,
448  .event_name = "offcore_requests_outstanding.demand_data_rd",
449  },
450  {
451  .event_code = {0x60},
452  .umask = 0x02,
453  .event_name = "offcore_requests_outstanding.demand_code_rd",
454  },
455  {
456  .event_code = {0x60},
457  .umask = 0x02,
458  .event_name = "offcore_requests_outstanding.cycles_with_demand_code_rd",
459  },
460  {
461  .event_code = {0x60},
462  .umask = 0x04,
463  .event_name = "offcore_requests_outstanding.demand_rfo",
464  },
465  {
466  .event_code = {0x60},
467  .umask = 0x04,
468  .event_name = "offcore_requests_outstanding.cycles_with_demand_rfo",
469  },
470  {
471  .event_code = {0x60},
472  .umask = 0x08,
473  .event_name = "offcore_requests_outstanding.cycles_with_data_rd",
474  },
475  {
476  .event_code = {0x60},
477  .umask = 0x08,
478  .event_name = "offcore_requests_outstanding.all_data_rd",
479  },
480  {
481  .event_code = {0x60},
482  .umask = 0x10,
483  .event_name = "offcore_requests_outstanding.l3_miss_demand_data_rd",
484  },
485  {
486  .event_code = {0x79},
487  .umask = 0x04,
488  .event_name = "idq.mite_cycles",
489  },
490  {
491  .event_code = {0x79},
492  .umask = 0x04,
493  .event_name = "idq.mite_uops",
494  },
495  {
496  .event_code = {0x79},
497  .umask = 0x08,
498  .event_name = "idq.dsb_cycles",
499  },
500  {
501  .event_code = {0x79},
502  .umask = 0x08,
503  .event_name = "idq.dsb_uops",
504  },
505  {
506  .event_code = {0x79},
507  .umask = 0x10,
508  .event_name = "idq.ms_dsb_cycles",
509  },
510  {
511  .event_code = {0x79},
512  .umask = 0x18,
513  .event_name = "idq.all_dsb_cycles_any_uops",
514  },
515  {
516  .event_code = {0x79},
517  .umask = 0x18,
518  .event_name = "idq.all_dsb_cycles_4_uops",
519  },
520  {
521  .event_code = {0x79},
522  .umask = 0x20,
523  .event_name = "idq.ms_mite_uops",
524  },
525  {
526  .event_code = {0x79},
527  .umask = 0x24,
528  .event_name = "idq.all_mite_cycles_any_uops",
529  },
530  {
531  .event_code = {0x79},
532  .umask = 0x24,
533  .event_name = "idq.all_mite_cycles_4_uops",
534  },
535  {
536  .event_code = {0x79},
537  .umask = 0x30,
538  .event_name = "idq.ms_cycles",
539  },
540  {
541  .event_code = {0x79},
542  .umask = 0x30,
543  .event_name = "idq.ms_uops",
544  },
545  {
546  .event_code = {0x79},
547  .umask = 0x30,
548  .event_name = "idq.ms_switches",
549  },
550  {
551  .event_code = {0x80},
552  .umask = 0x04,
553  .event_name = "icache_16b.ifdata_stall",
554  },
555  {
556  .event_code = {0x83},
557  .umask = 0x01,
558  .event_name = "icache_64b.iftag_hit",
559  },
560  {
561  .event_code = {0x83},
562  .umask = 0x02,
563  .event_name = "icache_64b.iftag_miss",
564  },
565  {
566  .event_code = {0x83},
567  .umask = 0x04,
568  .event_name = "icache_64b.iftag_stall",
569  },
570  {
571  .event_code = {0x85},
572  .umask = 0x01,
573  .event_name = "itlb_misses.miss_causes_a_walk",
574  },
575  {
576  .event_code = {0x85},
577  .umask = 0x02,
578  .event_name = "itlb_misses.walk_completed_4k",
579  },
580  {
581  .event_code = {0x85},
582  .umask = 0x04,
583  .event_name = "itlb_misses.walk_completed_2m_4m",
584  },
585  {
586  .event_code = {0x85},
587  .umask = 0x08,
588  .event_name = "itlb_misses.walk_completed_1g",
589  },
590  {
591  .event_code = {0x85},
592  .umask = 0x0E,
593  .event_name = "itlb_misses.walk_completed",
594  },
595  {
596  .event_code = {0x85},
597  .umask = 0x10,
598  .event_name = "itlb_misses.walk_pending",
599  },
600  {
601  .event_code = {0x85},
602  .umask = 0x10,
603  .event_name = "itlb_misses.walk_active",
604  },
605  {
606  .event_code = {0x85},
607  .umask = 0x20,
608  .event_name = "itlb_misses.stlb_hit",
609  },
610  {
611  .event_code = {0x87},
612  .umask = 0x01,
613  .event_name = "ild_stall.lcp",
614  },
615  {
616  .event_code = {0x9C},
617  .umask = 0x01,
618  .event_name = "idq_uops_not_delivered.cycles_fe_was_ok",
619  },
620  {
621  .event_code = {0x9C},
622  .umask = 0x01,
623  .event_name = "idq_uops_not_delivered.cycles_le_3_uop_deliv.core",
624  },
625  {
626  .event_code = {0x9C},
627  .umask = 0x01,
628  .event_name = "idq_uops_not_delivered.cycles_le_2_uop_deliv.core",
629  },
630  {
631  .event_code = {0x9C},
632  .umask = 0x01,
633  .event_name = "idq_uops_not_delivered.cycles_le_1_uop_deliv.core",
634  },
635  {
636  .event_code = {0x9C},
637  .umask = 0x01,
638  .event_name = "idq_uops_not_delivered.cycles_0_uops_deliv.core",
639  },
640  {
641  .event_code = {0x9C},
642  .umask = 0x01,
643  .event_name = "idq_uops_not_delivered.core",
644  },
645  {
646  .event_code = {0xA1},
647  .umask = 0x01,
648  .event_name = "uops_dispatched_port.port_0",
649  },
650  {
651  .event_code = {0xA1},
652  .umask = 0x02,
653  .event_name = "uops_dispatched_port.port_1",
654  },
655  {
656  .event_code = {0xA1},
657  .umask = 0x04,
658  .event_name = "uops_dispatched_port.port_2",
659  },
660  {
661  .event_code = {0xA1},
662  .umask = 0x08,
663  .event_name = "uops_dispatched_port.port_3",
664  },
665  {
666  .event_code = {0xA1},
667  .umask = 0x10,
668  .event_name = "uops_dispatched_port.port_4",
669  },
670  {
671  .event_code = {0xA1},
672  .umask = 0x20,
673  .event_name = "uops_dispatched_port.port_5",
674  },
675  {
676  .event_code = {0xA1},
677  .umask = 0x40,
678  .event_name = "uops_dispatched_port.port_6",
679  },
680  {
681  .event_code = {0xA1},
682  .umask = 0x80,
683  .event_name = "uops_dispatched_port.port_7",
684  },
685  {
686  .event_code = {0xa2},
687  .umask = 0x01,
688  .event_name = "resource_stalls.any",
689  },
690  {
691  .event_code = {0xA2},
692  .umask = 0x08,
693  .event_name = "resource_stalls.sb",
694  },
695  {
696  .event_code = {0xA3},
697  .umask = 0x01,
698  .event_name = "cycle_activity.cycles_l2_miss",
699  },
700  {
701  .event_code = {0xA3},
702  .umask = 0x04,
703  .event_name = "cycle_activity.stalls_total",
704  },
705  {
706  .event_code = {0xA3},
707  .umask = 0x05,
708  .event_name = "cycle_activity.stalls_l2_miss",
709  },
710  {
711  .event_code = {0xA3},
712  .umask = 0x08,
713  .event_name = "cycle_activity.cycles_l1d_miss",
714  },
715  {
716  .event_code = {0xA3},
717  .umask = 0x0C,
718  .event_name = "cycle_activity.stalls_l1d_miss",
719  },
720  {
721  .event_code = {0xA3},
722  .umask = 0x10,
723  .event_name = "cycle_activity.cycles_mem_any",
724  },
725  {
726  .event_code = {0xA3},
727  .umask = 0x14,
728  .event_name = "cycle_activity.stalls_mem_any",
729  },
730  {
731  .event_code = {0xA6},
732  .umask = 0x01,
733  .event_name = "exe_activity.exe_bound_0_ports",
734  },
735  {
736  .event_code = {0xA6},
737  .umask = 0x02,
738  .event_name = "exe_activity.1_ports_util",
739  },
740  {
741  .event_code = {0xA6},
742  .umask = 0x04,
743  .event_name = "exe_activity.2_ports_util",
744  },
745  {
746  .event_code = {0xA6},
747  .umask = 0x08,
748  .event_name = "exe_activity.3_ports_util",
749  },
750  {
751  .event_code = {0xA6},
752  .umask = 0x10,
753  .event_name = "exe_activity.4_ports_util",
754  },
755  {
756  .event_code = {0xA6},
757  .umask = 0x40,
758  .event_name = "exe_activity.bound_on_stores",
759  },
760  {
761  .event_code = {0xA8},
762  .umask = 0x01,
763  .event_name = "lsd.uops",
764  },
765  {
766  .event_code = {0xA8},
767  .umask = 0x01,
768  .event_name = "lsd.cycles_4_uops",
769  },
770  {
771  .event_code = {0xA8},
772  .umask = 0x01,
773  .event_name = "lsd.cycles_active",
774  },
775  {
776  .event_code = {0xAB},
777  .umask = 0x02,
778  .event_name = "dsb2mite_switches.penalty_cycles",
779  },
780  {
781  .event_code = {0xAE},
782  .umask = 0x01,
783  .event_name = "itlb.itlb_flush",
784  },
785  {
786  .event_code = {0xB0},
787  .umask = 0x01,
788  .event_name = "offcore_requests.demand_data_rd",
789  },
790  {
791  .event_code = {0xB0},
792  .umask = 0x02,
793  .event_name = "offcore_requests.demand_code_rd",
794  },
795  {
796  .event_code = {0xB0},
797  .umask = 0x04,
798  .event_name = "offcore_requests.demand_rfo",
799  },
800  {
801  .event_code = {0xB0},
802  .umask = 0x08,
803  .event_name = "offcore_requests.all_data_rd",
804  },
805  {
806  .event_code = {0xB0},
807  .umask = 0x10,
808  .event_name = "offcore_requests.l3_miss_demand_data_rd",
809  },
810  {
811  .event_code = {0xB0},
812  .umask = 0x80,
813  .event_name = "offcore_requests.all_requests",
814  },
815  {
816  .event_code = {0xB1},
817  .umask = 0x01,
818  .event_name = "uops_executed.cycles_ge_4_uops_exec",
819  },
820  {
821  .event_code = {0xB1},
822  .umask = 0x01,
823  .event_name = "uops_executed.cycles_ge_3_uops_exec",
824  },
825  {
826  .event_code = {0xB1},
827  .umask = 0x01,
828  .event_name = "uops_executed.cycles_ge_2_uops_exec",
829  },
830  {
831  .event_code = {0xB1},
832  .umask = 0x01,
833  .event_name = "uops_executed.cycles_ge_1_uop_exec",
834  },
835  {
836  .event_code = {0xB1},
837  .umask = 0x01,
838  .event_name = "uops_executed.stall_cycles",
839  },
840  {
841  .event_code = {0xB1},
842  .umask = 0x01,
843  .event_name = "uops_executed.thread",
844  },
845  {
846  .event_code = {0xB1},
847  .umask = 0x02,
848  .event_name = "uops_executed.core",
849  },
850  {
851  .event_code = {0xB1},
852  .umask = 0x02,
853  .event_name = "uops_executed.core_cycles_none",
854  },
855  {
856  .event_code = {0xB1},
857  .umask = 0x02,
858  .event_name = "uops_executed.core_cycles_ge_4",
859  },
860  {
861  .event_code = {0xB1},
862  .umask = 0x02,
863  .event_name = "uops_executed.core_cycles_ge_3",
864  },
865  {
866  .event_code = {0xB1},
867  .umask = 0x02,
868  .event_name = "uops_executed.core_cycles_ge_2",
869  },
870  {
871  .event_code = {0xB1},
872  .umask = 0x02,
873  .event_name = "uops_executed.core_cycles_ge_1",
874  },
875  {
876  .event_code = {0xB1},
877  .umask = 0x10,
878  .event_name = "uops_executed.x87",
879  },
880  {
881  .event_code = {0xB2},
882  .umask = 0x01,
883  .event_name = "offcore_requests_buffer.sq_full",
884  },
885  {
886  .event_code = {0xB7, 0xBB},
887  .umask = 0x01,
888  .event_name = "offcore_response",
889  },
890  {
891  .event_code = {0xBD},
892  .umask = 0x01,
893  .event_name = "tlb_flush.dtlb_thread",
894  },
895  {
896  .event_code = {0xBD},
897  .umask = 0x20,
898  .event_name = "tlb_flush.stlb_any",
899  },
900  {
901  .event_code = {0xC0},
902  .umask = 0x00,
903  .event_name = "inst_retired.any_p",
904  },
905  {
906  .event_code = {0xC0},
907  .umask = 0x01,
908  .event_name = "inst_retired.prec_dist",
909  },
910  {
911  .event_code = {0xC0},
912  .umask = 0x01,
913  .event_name = "inst_retired.total_cycles_ps",
914  },
915  {
916  .event_code = {0xC2},
917  .umask = 0x02,
918  .event_name = "uops_retired.total_cycles",
919  },
920  {
921  .event_code = {0xC2},
922  .umask = 0x02,
923  .event_name = "uops_retired.stall_cycles",
924  },
925  {
926  .event_code = {0xC2},
927  .umask = 0x02,
928  .event_name = "uops_retired.retire_slots",
929  },
930  {
931  .event_code = {0xC3},
932  .umask = 0x01,
933  .event_name = "machine_clears.count",
934  },
935  {
936  .event_code = {0xC3},
937  .umask = 0x02,
938  .event_name = "machine_clears.memory_ordering",
939  },
940  {
941  .event_code = {0xC3},
942  .umask = 0x04,
943  .event_name = "machine_clears.smc",
944  },
945  {
946  .event_code = {0xC4},
947  .umask = 0x00,
948  .event_name = "br_inst_retired.all_branches",
949  },
950  {
951  .event_code = {0xC4},
952  .umask = 0x01,
953  .event_name = "br_inst_retired.conditional",
954  },
955  {
956  .event_code = {0xC4},
957  .umask = 0x02,
958  .event_name = "br_inst_retired.near_call",
959  },
960  {
961  .event_code = {0xC4},
962  .umask = 0x04,
963  .event_name = "br_inst_retired.all_branches_pebs",
964  },
965  {
966  .event_code = {0xC4},
967  .umask = 0x08,
968  .event_name = "br_inst_retired.near_return",
969  },
970  {
971  .event_code = {0xC4},
972  .umask = 0x10,
973  .event_name = "br_inst_retired.not_taken",
974  },
975  {
976  .event_code = {0xC4},
977  .umask = 0x20,
978  .event_name = "br_inst_retired.near_taken",
979  },
980  {
981  .event_code = {0xC4},
982  .umask = 0x40,
983  .event_name = "br_inst_retired.far_branch",
984  },
985  {
986  .event_code = {0xC5},
987  .umask = 0x00,
988  .event_name = "br_misp_retired.all_branches",
989  },
990  {
991  .event_code = {0xC5},
992  .umask = 0x01,
993  .event_name = "br_misp_retired.conditional",
994  },
995  {
996  .event_code = {0xC5},
997  .umask = 0x02,
998  .event_name = "br_misp_retired.near_call",
999  },
1000  {
1001  .event_code = {0xC5},
1002  .umask = 0x04,
1003  .event_name = "br_misp_retired.all_branches_pebs",
1004  },
1005  {
1006  .event_code = {0xC5},
1007  .umask = 0x20,
1008  .event_name = "br_misp_retired.near_taken",
1009  },
1010  {
1011  .event_code = {0xC7},
1012  .umask = 0x01,
1013  .event_name = "fp_arith_inst_retired.scalar_double",
1014  },
1015  {
1016  .event_code = {0xC7},
1017  .umask = 0x02,
1018  .event_name = "fp_arith_inst_retired.scalar_single",
1019  },
1020  {
1021  .event_code = {0xC7},
1022  .umask = 0x04,
1023  .event_name = "fp_arith_inst_retired.128b_packed_double",
1024  },
1025  {
1026  .event_code = {0xC7},
1027  .umask = 0x08,
1028  .event_name = "fp_arith_inst_retired.128b_packed_single",
1029  },
1030  {
1031  .event_code = {0xC7},
1032  .umask = 0x10,
1033  .event_name = "fp_arith_inst_retired.256b_packed_double",
1034  },
1035  {
1036  .event_code = {0xC7},
1037  .umask = 0x20,
1038  .event_name = "fp_arith_inst_retired.256b_packed_single",
1039  },
1040  {
1041  .event_code = {0xC7},
1042  .umask = 0x40,
1043  .event_name = "fp_arith_inst_retired.512b_packed_double",
1044  },
1045  {
1046  .event_code = {0xC7},
1047  .umask = 0x80,
1048  .event_name = "fp_arith_inst_retired.512b_packed_single",
1049  },
1050  {
1051  .event_code = {0xC8},
1052  .umask = 0x01,
1053  .event_name = "hle_retired.start",
1054  },
1055  {
1056  .event_code = {0xC8},
1057  .umask = 0x02,
1058  .event_name = "hle_retired.commit",
1059  },
1060  {
1061  .event_code = {0xC8},
1062  .umask = 0x04,
1063  .event_name = "hle_retired.aborted",
1064  },
1065  {
1066  .event_code = {0xC8},
1067  .umask = 0x08,
1068  .event_name = "hle_retired.aborted_mem",
1069  },
1070  {
1071  .event_code = {0xC8},
1072  .umask = 0x10,
1073  .event_name = "hle_retired.aborted_timer",
1074  },
1075  {
1076  .event_code = {0xC8},
1077  .umask = 0x20,
1078  .event_name = "hle_retired.aborted_unfriendly",
1079  },
1080  {
1081  .event_code = {0xC8},
1082  .umask = 0x40,
1083  .event_name = "hle_retired.aborted_memtype",
1084  },
1085  {
1086  .event_code = {0xC8},
1087  .umask = 0x80,
1088  .event_name = "hle_retired.aborted_events",
1089  },
1090  {
1091  .event_code = {0xC9},
1092  .umask = 0x01,
1093  .event_name = "rtm_retired.start",
1094  },
1095  {
1096  .event_code = {0xC9},
1097  .umask = 0x02,
1098  .event_name = "rtm_retired.commit",
1099  },
1100  {
1101  .event_code = {0xC9},
1102  .umask = 0x04,
1103  .event_name = "rtm_retired.aborted",
1104  },
1105  {
1106  .event_code = {0xC9},
1107  .umask = 0x08,
1108  .event_name = "rtm_retired.aborted_mem",
1109  },
1110  {
1111  .event_code = {0xC9},
1112  .umask = 0x10,
1113  .event_name = "rtm_retired.aborted_timer",
1114  },
1115  {
1116  .event_code = {0xC9},
1117  .umask = 0x20,
1118  .event_name = "rtm_retired.aborted_unfriendly",
1119  },
1120  {
1121  .event_code = {0xC9},
1122  .umask = 0x40,
1123  .event_name = "rtm_retired.aborted_memtype",
1124  },
1125  {
1126  .event_code = {0xC9},
1127  .umask = 0x80,
1128  .event_name = "rtm_retired.aborted_events",
1129  },
1130  {
1131  .event_code = {0xCA},
1132  .umask = 0x1E,
1133  .event_name = "fp_assist.any",
1134  },
1135  {
1136  .event_code = {0xCB},
1137  .umask = 0x01,
1138  .event_name = "hw_interrupts.received",
1139  },
1140  {
1141  .event_code = {0xCC},
1142  .umask = 0x20,
1143  .event_name = "rob_misc_events.lbr_inserts",
1144  },
1145  {
1146  .event_code = {0xCC},
1147  .umask = 0x40,
1148  .event_name = "rob_misc_events.pause_inst",
1149  },
1150  {
1151  .event_code = {0xD0},
1152  .umask = 0x11,
1153  .event_name = "mem_inst_retired.stlb_miss_loads",
1154  },
1155  {
1156  .event_code = {0xD0},
1157  .umask = 0x12,
1158  .event_name = "mem_inst_retired.stlb_miss_stores",
1159  },
1160  {
1161  .event_code = {0xD0},
1162  .umask = 0x21,
1163  .event_name = "mem_inst_retired.lock_loads",
1164  },
1165  {
1166  .event_code = {0xD0},
1167  .umask = 0x41,
1168  .event_name = "mem_inst_retired.split_loads",
1169  },
1170  {
1171  .event_code = {0xD0},
1172  .umask = 0x42,
1173  .event_name = "mem_inst_retired.split_stores",
1174  },
1175  {
1176  .event_code = {0xD0},
1177  .umask = 0x81,
1178  .event_name = "mem_inst_retired.all_loads",
1179  },
1180  {
1181  .event_code = {0xD0},
1182  .umask = 0x82,
1183  .event_name = "mem_inst_retired.all_stores",
1184  },
1185  {
1186  .event_code = {0xD1},
1187  .umask = 0x01,
1188  .event_name = "mem_load_retired.l1_hit",
1189  },
1190  {
1191  .event_code = {0xD1},
1192  .umask = 0x02,
1193  .event_name = "mem_load_retired.l2_hit",
1194  },
1195  {
1196  .event_code = {0xD1},
1197  .umask = 0x04,
1198  .event_name = "mem_load_retired.l3_hit",
1199  },
1200  {
1201  .event_code = {0xD1},
1202  .umask = 0x08,
1203  .event_name = "mem_load_retired.l1_miss",
1204  },
1205  {
1206  .event_code = {0xD1},
1207  .umask = 0x10,
1208  .event_name = "mem_load_retired.l2_miss",
1209  },
1210  {
1211  .event_code = {0xD1},
1212  .umask = 0x20,
1213  .event_name = "mem_load_retired.l3_miss",
1214  },
1215  {
1216  .event_code = {0xD1},
1217  .umask = 0x40,
1218  .event_name = "mem_load_retired.fb_hit",
1219  },
1220  {
1221  .event_code = {0xD1},
1222  .umask = 0x80,
1223  .event_name = "mem_load_retired.local_pmm",
1224  },
1225  {
1226  .event_code = {0xD2},
1227  .umask = 0x01,
1228  .event_name = "mem_load_l3_hit_retired.xsnp_miss",
1229  },
1230  {
1231  .event_code = {0xD2},
1232  .umask = 0x02,
1233  .event_name = "mem_load_l3_hit_retired.xsnp_hit",
1234  },
1235  {
1236  .event_code = {0xD2},
1237  .umask = 0x04,
1238  .event_name = "mem_load_l3_hit_retired.xsnp_hitm",
1239  },
1240  {
1241  .event_code = {0xD2},
1242  .umask = 0x08,
1243  .event_name = "mem_load_l3_hit_retired.xsnp_none",
1244  },
1245  {
1246  .event_code = {0xD3},
1247  .umask = 0x01,
1248  .event_name = "mem_load_l3_miss_retired.local_dram",
1249  },
1250  {
1251  .event_code = {0xD3},
1252  .umask = 0x02,
1253  .event_name = "mem_load_l3_miss_retired.remote_dram",
1254  },
1255  {
1256  .event_code = {0xD3},
1257  .umask = 0x04,
1258  .event_name = "mem_load_l3_miss_retired.remote_hitm",
1259  },
1260  {
1261  .event_code = {0xD3},
1262  .umask = 0x08,
1263  .event_name = "mem_load_l3_miss_retired.remote_fwd",
1264  },
1265  {
1266  .event_code = {0xD3},
1267  .umask = 0x10,
1268  .event_name = "mem_load_l3_miss_retired.remote_pmm",
1269  },
1270  {
1271  .event_code = {0xD4},
1272  .umask = 0x04,
1273  .event_name = "mem_load_misc_retired.uc",
1274  },
1275  {
1276  .event_code = {0xE6},
1277  .umask = 0x01,
1278  .event_name = "baclears.any",
1279  },
1280  {
1281  .event_code = {0xEF},
1282  .umask = 0x01,
1283  .event_name = "core_snoop_response.rsp_ihiti",
1284  },
1285  {
1286  .event_code = {0xEF},
1287  .umask = 0x02,
1288  .event_name = "core_snoop_response.rsp_ihitfse",
1289  },
1290  {
1291  .event_code = {0xEF},
1292  .umask = 0x04,
1293  .event_name = "core_snoop_response.rsp_shitfse",
1294  },
1295  {
1296  .event_code = {0xEF},
1297  .umask = 0x08,
1298  .event_name = "core_snoop_response.rsp_sfwdm",
1299  },
1300  {
1301  .event_code = {0xEF},
1302  .umask = 0x10,
1303  .event_name = "core_snoop_response.rsp_ifwdm",
1304  },
1305  {
1306  .event_code = {0xEF},
1307  .umask = 0x20,
1308  .event_name = "core_snoop_response.rsp_ifwdfe",
1309  },
1310  {
1311  .event_code = {0xEF},
1312  .umask = 0x40,
1313  .event_name = "core_snoop_response.rsp_sfwdfe",
1314  },
1315  {
1316  .event_code = {0xF0},
1317  .umask = 0x40,
1318  .event_name = "l2_trans.l2_wb",
1319  },
1320  {
1321  .event_code = {0xF1},
1322  .umask = 0x1F,
1323  .event_name = "l2_lines_in.all",
1324  },
1325  {
1326  .event_code = {0xF2},
1327  .umask = 0x01,
1328  .event_name = "l2_lines_out.silent",
1329  },
1330  {
1331  .event_code = {0xF2},
1332  .umask = 0x02,
1333  .event_name = "l2_lines_out.non_silent",
1334  },
1335  {
1336  .event_code = {0xF2},
1337  .umask = 0x04,
1338  .event_name = "l2_lines_out.useless_pref",
1339  },
1340  {
1341  .event_code = {0xF2},
1342  .umask = 0x04,
1343  .event_name = "l2_lines_out.useless_hwpf",
1344  },
1345  {
1346  .event_code = {0xF4},
1347  .umask = 0x10,
1348  .event_name = "sq_misc.split_lock",
1349  },
1350  {
1351  .event_code = {0xFE},
1352  .umask = 0x02,
1353  .event_name = "idi_misc.wb_upgrade",
1354  },
1355  {
1356  .event_code = {0xFE},
1357  .umask = 0x04,
1358  .event_name = "idi_misc.wb_downgrade",
1359  },
1360  {
1361  .event_name = 0,
1362  },
1363 };
1364 
1365 PERFMON_REGISTER_INTEL_PMC (cpu_model_table, event_table);
1366 
PERFMON_REGISTER_INTEL_PMC(cpu_model_table, event_table)