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