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