FD.io VPP  v21.01.1
Vector Packet Processing
perfmon_intel_hsw.c
Go to the documentation of this file.
1 
3 
4 static perfmon_intel_pmc_cpu_model_t cpu_model_table[] = {
5  {0x3C, 0x00, 0},
6  {0x45, 0x00, 0},
7  {0x46, 0x00, 0},
8 
9 };
10 
11 static perfmon_intel_pmc_event_t event_table[] = {
12  {
13  .event_code = {0x00},
14  .umask = 0x01,
15  .event_name = "inst_retired.any",
16  },
17  {
18  .event_code = {0x00},
19  .umask = 0x02,
20  .event_name = "cpu_clk_unhalted.thread",
21  },
22  {
23  .event_code = {0x00},
24  .umask = 0x02,
25  .event_name = "cpu_clk_unhalted.thread_any",
26  },
27  {
28  .event_code = {0x00},
29  .umask = 0x03,
30  .event_name = "cpu_clk_unhalted.ref_tsc",
31  },
32  {
33  .event_code = {0x03},
34  .umask = 0x02,
35  .event_name = "ld_blocks.store_forward",
36  },
37  {
38  .event_code = {0x03},
39  .umask = 0x08,
40  .event_name = "ld_blocks.no_sr",
41  },
42  {
43  .event_code = {0x05},
44  .umask = 0x01,
45  .event_name = "misalign_mem_ref.loads",
46  },
47  {
48  .event_code = {0x05},
49  .umask = 0x02,
50  .event_name = "misalign_mem_ref.stores",
51  },
52  {
53  .event_code = {0x07},
54  .umask = 0x01,
55  .event_name = "ld_blocks_partial.address_alias",
56  },
57  {
58  .event_code = {0x08},
59  .umask = 0x01,
60  .event_name = "dtlb_load_misses.miss_causes_a_walk",
61  },
62  {
63  .event_code = {0x08},
64  .umask = 0x02,
65  .event_name = "dtlb_load_misses.walk_completed_4k",
66  },
67  {
68  .event_code = {0x08},
69  .umask = 0x04,
70  .event_name = "dtlb_load_misses.walk_completed_2m_4m",
71  },
72  {
73  .event_code = {0x08},
74  .umask = 0x08,
75  .event_name = "dtlb_load_misses.walk_completed_1g",
76  },
77  {
78  .event_code = {0x08},
79  .umask = 0x0e,
80  .event_name = "dtlb_load_misses.walk_completed",
81  },
82  {
83  .event_code = {0x08},
84  .umask = 0x10,
85  .event_name = "dtlb_load_misses.walk_duration",
86  },
87  {
88  .event_code = {0x08},
89  .umask = 0x20,
90  .event_name = "dtlb_load_misses.stlb_hit_4k",
91  },
92  {
93  .event_code = {0x08},
94  .umask = 0x40,
95  .event_name = "dtlb_load_misses.stlb_hit_2m",
96  },
97  {
98  .event_code = {0x08},
99  .umask = 0x60,
100  .event_name = "dtlb_load_misses.stlb_hit",
101  },
102  {
103  .event_code = {0x08},
104  .umask = 0x80,
105  .event_name = "dtlb_load_misses.pde_cache_miss",
106  },
107  {
108  .event_code = {0x0D},
109  .umask = 0x03,
110  .event_name = "int_misc.recovery_cycles",
111  },
112  {
113  .event_code = {0x0D},
114  .umask = 0x03,
115  .event_name = "int_misc.recovery_cycles_any",
116  },
117  {
118  .event_code = {0x0E},
119  .umask = 0x01,
120  .event_name = "uops_issued.any",
121  },
122  {
123  .event_code = {0x0E},
124  .umask = 0x01,
125  .event_name = "uops_issued.stall_cycles",
126  },
127  {
128  .event_code = {0x0E},
129  .umask = 0x01,
130  .event_name = "uops_issued.core_stall_cycles",
131  },
132  {
133  .event_code = {0x0E},
134  .umask = 0x10,
135  .event_name = "uops_issued.flags_merge",
136  },
137  {
138  .event_code = {0x0E},
139  .umask = 0x20,
140  .event_name = "uops_issued.slow_lea",
141  },
142  {
143  .event_code = {0x0E},
144  .umask = 0x40,
145  .event_name = "uops_issued.single_mul",
146  },
147  {
148  .event_code = {0x14},
149  .umask = 0x02,
150  .event_name = "arith.divider_uops",
151  },
152  {
153  .event_code = {0x24},
154  .umask = 0x21,
155  .event_name = "l2_rqsts.demand_data_rd_miss",
156  },
157  {
158  .event_code = {0x24},
159  .umask = 0x22,
160  .event_name = "l2_rqsts.rfo_miss",
161  },
162  {
163  .event_code = {0x24},
164  .umask = 0x24,
165  .event_name = "l2_rqsts.code_rd_miss",
166  },
167  {
168  .event_code = {0x24},
169  .umask = 0x27,
170  .event_name = "l2_rqsts.all_demand_miss",
171  },
172  {
173  .event_code = {0x24},
174  .umask = 0x30,
175  .event_name = "l2_rqsts.l2_pf_miss",
176  },
177  {
178  .event_code = {0x24},
179  .umask = 0x3F,
180  .event_name = "l2_rqsts.miss",
181  },
182  {
183  .event_code = {0x24},
184  .umask = 0xc1,
185  .event_name = "l2_rqsts.demand_data_rd_hit",
186  },
187  {
188  .event_code = {0x24},
189  .umask = 0xc2,
190  .event_name = "l2_rqsts.rfo_hit",
191  },
192  {
193  .event_code = {0x24},
194  .umask = 0xc4,
195  .event_name = "l2_rqsts.code_rd_hit",
196  },
197  {
198  .event_code = {0x24},
199  .umask = 0xd0,
200  .event_name = "l2_rqsts.l2_pf_hit",
201  },
202  {
203  .event_code = {0x24},
204  .umask = 0xE1,
205  .event_name = "l2_rqsts.all_demand_data_rd",
206  },
207  {
208  .event_code = {0x24},
209  .umask = 0xE2,
210  .event_name = "l2_rqsts.all_rfo",
211  },
212  {
213  .event_code = {0x24},
214  .umask = 0xE4,
215  .event_name = "l2_rqsts.all_code_rd",
216  },
217  {
218  .event_code = {0x24},
219  .umask = 0xe7,
220  .event_name = "l2_rqsts.all_demand_references",
221  },
222  {
223  .event_code = {0x24},
224  .umask = 0xF8,
225  .event_name = "l2_rqsts.all_pf",
226  },
227  {
228  .event_code = {0x24},
229  .umask = 0xFF,
230  .event_name = "l2_rqsts.references",
231  },
232  {
233  .event_code = {0x27},
234  .umask = 0x50,
235  .event_name = "l2_demand_rqsts.wb_hit",
236  },
237  {
238  .event_code = {0x2E},
239  .umask = 0x41,
240  .event_name = "longest_lat_cache.miss",
241  },
242  {
243  .event_code = {0x2E},
244  .umask = 0x4F,
245  .event_name = "longest_lat_cache.reference",
246  },
247  {
248  .event_code = {0x3C},
249  .umask = 0x00,
250  .event_name = "cpu_clk_unhalted.thread_p",
251  },
252  {
253  .event_code = {0x3C},
254  .umask = 0x00,
255  .event_name = "cpu_clk_unhalted.thread_p_any",
256  },
257  {
258  .event_code = {0x3C},
259  .umask = 0x01,
260  .event_name = "cpu_clk_thread_unhalted.ref_xclk",
261  },
262  {
263  .event_code = {0x3C},
264  .umask = 0x01,
265  .event_name = "cpu_clk_thread_unhalted.ref_xclk_any",
266  },
267  {
268  .event_code = {0x3c},
269  .umask = 0x02,
270  .event_name = "cpu_clk_thread_unhalted.one_thread_active",
271  },
272  {
273  .event_code = {0x48},
274  .umask = 0x01,
275  .event_name = "l1d_pend_miss.pending",
276  },
277  {
278  .event_code = {0x48},
279  .umask = 0x01,
280  .event_name = "l1d_pend_miss.pending_cycles",
281  },
282  {
283  .event_code = {0x48},
284  .umask = 0x02,
285  .event_name = "l1d_pend_miss.request_fb_full",
286  },
287  {
288  .event_code = {0x49},
289  .umask = 0x01,
290  .event_name = "dtlb_store_misses.miss_causes_a_walk",
291  },
292  {
293  .event_code = {0x49},
294  .umask = 0x02,
295  .event_name = "dtlb_store_misses.walk_completed_4k",
296  },
297  {
298  .event_code = {0x49},
299  .umask = 0x04,
300  .event_name = "dtlb_store_misses.walk_completed_2m_4m",
301  },
302  {
303  .event_code = {0x49},
304  .umask = 0x08,
305  .event_name = "dtlb_store_misses.walk_completed_1g",
306  },
307  {
308  .event_code = {0x49},
309  .umask = 0x0e,
310  .event_name = "dtlb_store_misses.walk_completed",
311  },
312  {
313  .event_code = {0x49},
314  .umask = 0x10,
315  .event_name = "dtlb_store_misses.walk_duration",
316  },
317  {
318  .event_code = {0x49},
319  .umask = 0x20,
320  .event_name = "dtlb_store_misses.stlb_hit_4k",
321  },
322  {
323  .event_code = {0x49},
324  .umask = 0x40,
325  .event_name = "dtlb_store_misses.stlb_hit_2m",
326  },
327  {
328  .event_code = {0x49},
329  .umask = 0x60,
330  .event_name = "dtlb_store_misses.stlb_hit",
331  },
332  {
333  .event_code = {0x49},
334  .umask = 0x80,
335  .event_name = "dtlb_store_misses.pde_cache_miss",
336  },
337  {
338  .event_code = {0x4c},
339  .umask = 0x01,
340  .event_name = "load_hit_pre.sw_pf",
341  },
342  {
343  .event_code = {0x4c},
344  .umask = 0x02,
345  .event_name = "load_hit_pre.hw_pf",
346  },
347  {
348  .event_code = {0x4f},
349  .umask = 0x10,
350  .event_name = "ept.walk_cycles",
351  },
352  {
353  .event_code = {0x51},
354  .umask = 0x01,
355  .event_name = "l1d.replacement",
356  },
357  {
358  .event_code = {0x54},
359  .umask = 0x01,
360  .event_name = "tx_mem.abort_conflict",
361  },
362  {
363  .event_code = {0x54},
364  .umask = 0x02,
365  .event_name = "tx_mem.abort_capacity_write",
366  },
367  {
368  .event_code = {0x54},
369  .umask = 0x04,
370  .event_name = "tx_mem.abort_hle_store_to_elided_lock",
371  },
372  {
373  .event_code = {0x54},
374  .umask = 0x08,
375  .event_name = "tx_mem.abort_hle_elision_buffer_not_empty",
376  },
377  {
378  .event_code = {0x54},
379  .umask = 0x10,
380  .event_name = "tx_mem.abort_hle_elision_buffer_mismatch",
381  },
382  {
383  .event_code = {0x54},
384  .umask = 0x20,
385  .event_name = "tx_mem.abort_hle_elision_buffer_unsupported_alignment",
386  },
387  {
388  .event_code = {0x54},
389  .umask = 0x40,
390  .event_name = "tx_mem.hle_elision_buffer_full",
391  },
392  {
393  .event_code = {0x58},
394  .umask = 0x01,
395  .event_name = "move_elimination.int_eliminated",
396  },
397  {
398  .event_code = {0x58},
399  .umask = 0x02,
400  .event_name = "move_elimination.simd_eliminated",
401  },
402  {
403  .event_code = {0x58},
404  .umask = 0x04,
405  .event_name = "move_elimination.int_not_eliminated",
406  },
407  {
408  .event_code = {0x58},
409  .umask = 0x08,
410  .event_name = "move_elimination.simd_not_eliminated",
411  },
412  {
413  .event_code = {0x5C},
414  .umask = 0x01,
415  .event_name = "cpl_cycles.ring0",
416  },
417  {
418  .event_code = {0x5C},
419  .umask = 0x01,
420  .event_name = "cpl_cycles.ring0_trans",
421  },
422  {
423  .event_code = {0x5C},
424  .umask = 0x02,
425  .event_name = "cpl_cycles.ring123",
426  },
427  {
428  .event_code = {0x5d},
429  .umask = 0x01,
430  .event_name = "tx_exec.misc1",
431  },
432  {
433  .event_code = {0x5d},
434  .umask = 0x02,
435  .event_name = "tx_exec.misc2",
436  },
437  {
438  .event_code = {0x5d},
439  .umask = 0x04,
440  .event_name = "tx_exec.misc3",
441  },
442  {
443  .event_code = {0x5d},
444  .umask = 0x08,
445  .event_name = "tx_exec.misc4",
446  },
447  {
448  .event_code = {0x5d},
449  .umask = 0x10,
450  .event_name = "tx_exec.misc5",
451  },
452  {
453  .event_code = {0x5E},
454  .umask = 0x01,
455  .event_name = "rs_events.empty_cycles",
456  },
457  {
458  .event_code = {0x5E},
459  .umask = 0x01,
460  .event_name = "rs_events.empty_end",
461  },
462  {
463  .event_code = {0x60},
464  .umask = 0x01,
465  .event_name = "offcore_requests_outstanding.demand_data_rd",
466  },
467  {
468  .event_code = {0x60},
469  .umask = 0x01,
470  .event_name = "offcore_requests_outstanding.cycles_with_demand_data_rd",
471  },
472  {
473  .event_code = {0x60},
474  .umask = 0x02,
475  .event_name = "offcore_requests_outstanding.demand_code_rd",
476  },
477  {
478  .event_code = {0x60},
479  .umask = 0x04,
480  .event_name = "offcore_requests_outstanding.demand_rfo",
481  },
482  {
483  .event_code = {0x60},
484  .umask = 0x04,
485  .event_name = "offcore_requests_outstanding.cycles_with_demand_rfo",
486  },
487  {
488  .event_code = {0x60},
489  .umask = 0x08,
490  .event_name = "offcore_requests_outstanding.all_data_rd",
491  },
492  {
493  .event_code = {0x60},
494  .umask = 0x08,
495  .event_name = "offcore_requests_outstanding.cycles_with_data_rd",
496  },
497  {
498  .event_code = {0x63},
499  .umask = 0x01,
500  .event_name = "lock_cycles.split_lock_uc_lock_duration",
501  },
502  {
503  .event_code = {0x63},
504  .umask = 0x02,
505  .event_name = "lock_cycles.cache_lock_duration",
506  },
507  {
508  .event_code = {0x79},
509  .umask = 0x02,
510  .event_name = "idq.empty",
511  },
512  {
513  .event_code = {0x79},
514  .umask = 0x04,
515  .event_name = "idq.mite_uops",
516  },
517  {
518  .event_code = {0x79},
519  .umask = 0x04,
520  .event_name = "idq.mite_cycles",
521  },
522  {
523  .event_code = {0x79},
524  .umask = 0x08,
525  .event_name = "idq.dsb_uops",
526  },
527  {
528  .event_code = {0x79},
529  .umask = 0x08,
530  .event_name = "idq.dsb_cycles",
531  },
532  {
533  .event_code = {0x79},
534  .umask = 0x10,
535  .event_name = "idq.ms_dsb_uops",
536  },
537  {
538  .event_code = {0x79},
539  .umask = 0x10,
540  .event_name = "idq.ms_dsb_cycles",
541  },
542  {
543  .event_code = {0x79},
544  .umask = 0x10,
545  .event_name = "idq.ms_dsb_occur",
546  },
547  {
548  .event_code = {0x79},
549  .umask = 0x18,
550  .event_name = "idq.all_dsb_cycles_4_uops",
551  },
552  {
553  .event_code = {0x79},
554  .umask = 0x18,
555  .event_name = "idq.all_dsb_cycles_any_uops",
556  },
557  {
558  .event_code = {0x79},
559  .umask = 0x20,
560  .event_name = "idq.ms_mite_uops",
561  },
562  {
563  .event_code = {0x79},
564  .umask = 0x24,
565  .event_name = "idq.all_mite_cycles_4_uops",
566  },
567  {
568  .event_code = {0x79},
569  .umask = 0x24,
570  .event_name = "idq.all_mite_cycles_any_uops",
571  },
572  {
573  .event_code = {0x79},
574  .umask = 0x30,
575  .event_name = "idq.ms_uops",
576  },
577  {
578  .event_code = {0x79},
579  .umask = 0x30,
580  .event_name = "idq.ms_cycles",
581  },
582  {
583  .event_code = {0x79},
584  .umask = 0x30,
585  .event_name = "idq.ms_switches",
586  },
587  {
588  .event_code = {0x79},
589  .umask = 0x3c,
590  .event_name = "idq.mite_all_uops",
591  },
592  {
593  .event_code = {0x80},
594  .umask = 0x01,
595  .event_name = "icache.hit",
596  },
597  {
598  .event_code = {0x80},
599  .umask = 0x02,
600  .event_name = "icache.misses",
601  },
602  {
603  .event_code = {0x80},
604  .umask = 0x04,
605  .event_name = "icache.ifetch_stall",
606  },
607  {
608  .event_code = {0x80},
609  .umask = 0x04,
610  .event_name = "icache.ifdata_stall",
611  },
612  {
613  .event_code = {0x85},
614  .umask = 0x01,
615  .event_name = "itlb_misses.miss_causes_a_walk",
616  },
617  {
618  .event_code = {0x85},
619  .umask = 0x02,
620  .event_name = "itlb_misses.walk_completed_4k",
621  },
622  {
623  .event_code = {0x85},
624  .umask = 0x04,
625  .event_name = "itlb_misses.walk_completed_2m_4m",
626  },
627  {
628  .event_code = {0x85},
629  .umask = 0x08,
630  .event_name = "itlb_misses.walk_completed_1g",
631  },
632  {
633  .event_code = {0x85},
634  .umask = 0x0e,
635  .event_name = "itlb_misses.walk_completed",
636  },
637  {
638  .event_code = {0x85},
639  .umask = 0x10,
640  .event_name = "itlb_misses.walk_duration",
641  },
642  {
643  .event_code = {0x85},
644  .umask = 0x20,
645  .event_name = "itlb_misses.stlb_hit_4k",
646  },
647  {
648  .event_code = {0x85},
649  .umask = 0x40,
650  .event_name = "itlb_misses.stlb_hit_2m",
651  },
652  {
653  .event_code = {0x85},
654  .umask = 0x60,
655  .event_name = "itlb_misses.stlb_hit",
656  },
657  {
658  .event_code = {0x87},
659  .umask = 0x01,
660  .event_name = "ild_stall.lcp",
661  },
662  {
663  .event_code = {0x87},
664  .umask = 0x04,
665  .event_name = "ild_stall.iq_full",
666  },
667  {
668  .event_code = {0x88},
669  .umask = 0x41,
670  .event_name = "br_inst_exec.nontaken_conditional",
671  },
672  {
673  .event_code = {0x88},
674  .umask = 0x81,
675  .event_name = "br_inst_exec.taken_conditional",
676  },
677  {
678  .event_code = {0x88},
679  .umask = 0x82,
680  .event_name = "br_inst_exec.taken_direct_jump",
681  },
682  {
683  .event_code = {0x88},
684  .umask = 0x84,
685  .event_name = "br_inst_exec.taken_indirect_jump_non_call_ret",
686  },
687  {
688  .event_code = {0x88},
689  .umask = 0x88,
690  .event_name = "br_inst_exec.taken_indirect_near_return",
691  },
692  {
693  .event_code = {0x88},
694  .umask = 0x90,
695  .event_name = "br_inst_exec.taken_direct_near_call",
696  },
697  {
698  .event_code = {0x88},
699  .umask = 0xA0,
700  .event_name = "br_inst_exec.taken_indirect_near_call",
701  },
702  {
703  .event_code = {0x88},
704  .umask = 0xC1,
705  .event_name = "br_inst_exec.all_conditional",
706  },
707  {
708  .event_code = {0x88},
709  .umask = 0xC2,
710  .event_name = "br_inst_exec.all_direct_jmp",
711  },
712  {
713  .event_code = {0x88},
714  .umask = 0xC4,
715  .event_name = "br_inst_exec.all_indirect_jump_non_call_ret",
716  },
717  {
718  .event_code = {0x88},
719  .umask = 0xC8,
720  .event_name = "br_inst_exec.all_indirect_near_return",
721  },
722  {
723  .event_code = {0x88},
724  .umask = 0xD0,
725  .event_name = "br_inst_exec.all_direct_near_call",
726  },
727  {
728  .event_code = {0x88},
729  .umask = 0xFF,
730  .event_name = "br_inst_exec.all_branches",
731  },
732  {
733  .event_code = {0x89},
734  .umask = 0x41,
735  .event_name = "br_misp_exec.nontaken_conditional",
736  },
737  {
738  .event_code = {0x89},
739  .umask = 0x81,
740  .event_name = "br_misp_exec.taken_conditional",
741  },
742  {
743  .event_code = {0x89},
744  .umask = 0x84,
745  .event_name = "br_misp_exec.taken_indirect_jump_non_call_ret",
746  },
747  {
748  .event_code = {0x89},
749  .umask = 0x88,
750  .event_name = "br_misp_exec.taken_return_near",
751  },
752  {
753  .event_code = {0x89},
754  .umask = 0xA0,
755  .event_name = "br_misp_exec.taken_indirect_near_call",
756  },
757  {
758  .event_code = {0x89},
759  .umask = 0xC1,
760  .event_name = "br_misp_exec.all_conditional",
761  },
762  {
763  .event_code = {0x89},
764  .umask = 0xC4,
765  .event_name = "br_misp_exec.all_indirect_jump_non_call_ret",
766  },
767  {
768  .event_code = {0x89},
769  .umask = 0xFF,
770  .event_name = "br_misp_exec.all_branches",
771  },
772  {
773  .event_code = {0x9C},
774  .umask = 0x01,
775  .event_name = "idq_uops_not_delivered.core",
776  },
777  {
778  .event_code = {0x9C},
779  .umask = 0x01,
780  .event_name = "idq_uops_not_delivered.cycles_0_uops_deliv.core",
781  },
782  {
783  .event_code = {0x9C},
784  .umask = 0x01,
785  .event_name = "idq_uops_not_delivered.cycles_le_1_uop_deliv.core",
786  },
787  {
788  .event_code = {0x9C},
789  .umask = 0x01,
790  .event_name = "idq_uops_not_delivered.cycles_le_2_uop_deliv.core",
791  },
792  {
793  .event_code = {0x9C},
794  .umask = 0x01,
795  .event_name = "idq_uops_not_delivered.cycles_le_3_uop_deliv.core",
796  },
797  {
798  .event_code = {0x9C},
799  .umask = 0x01,
800  .event_name = "idq_uops_not_delivered.cycles_fe_was_ok",
801  },
802  {
803  .event_code = {0xA1},
804  .umask = 0x01,
805  .event_name = "uops_executed_port.port_0",
806  },
807  {
808  .event_code = {0xA1},
809  .umask = 0x01,
810  .event_name = "uops_executed_port.port_0_core",
811  },
812  {
813  .event_code = {0xA1},
814  .umask = 0x01,
815  .event_name = "uops_dispatched_port.port_0",
816  },
817  {
818  .event_code = {0xA1},
819  .umask = 0x02,
820  .event_name = "uops_executed_port.port_1",
821  },
822  {
823  .event_code = {0xA1},
824  .umask = 0x02,
825  .event_name = "uops_executed_port.port_1_core",
826  },
827  {
828  .event_code = {0xA1},
829  .umask = 0x02,
830  .event_name = "uops_dispatched_port.port_1",
831  },
832  {
833  .event_code = {0xA1},
834  .umask = 0x04,
835  .event_name = "uops_executed_port.port_2",
836  },
837  {
838  .event_code = {0xA1},
839  .umask = 0x04,
840  .event_name = "uops_executed_port.port_2_core",
841  },
842  {
843  .event_code = {0xA1},
844  .umask = 0x04,
845  .event_name = "uops_dispatched_port.port_2",
846  },
847  {
848  .event_code = {0xA1},
849  .umask = 0x08,
850  .event_name = "uops_executed_port.port_3",
851  },
852  {
853  .event_code = {0xA1},
854  .umask = 0x08,
855  .event_name = "uops_executed_port.port_3_core",
856  },
857  {
858  .event_code = {0xA1},
859  .umask = 0x08,
860  .event_name = "uops_dispatched_port.port_3",
861  },
862  {
863  .event_code = {0xA1},
864  .umask = 0x10,
865  .event_name = "uops_executed_port.port_4",
866  },
867  {
868  .event_code = {0xA1},
869  .umask = 0x10,
870  .event_name = "uops_executed_port.port_4_core",
871  },
872  {
873  .event_code = {0xA1},
874  .umask = 0x10,
875  .event_name = "uops_dispatched_port.port_4",
876  },
877  {
878  .event_code = {0xA1},
879  .umask = 0x20,
880  .event_name = "uops_executed_port.port_5",
881  },
882  {
883  .event_code = {0xA1},
884  .umask = 0x20,
885  .event_name = "uops_executed_port.port_5_core",
886  },
887  {
888  .event_code = {0xA1},
889  .umask = 0x20,
890  .event_name = "uops_dispatched_port.port_5",
891  },
892  {
893  .event_code = {0xA1},
894  .umask = 0x40,
895  .event_name = "uops_executed_port.port_6",
896  },
897  {
898  .event_code = {0xA1},
899  .umask = 0x40,
900  .event_name = "uops_executed_port.port_6_core",
901  },
902  {
903  .event_code = {0xA1},
904  .umask = 0x40,
905  .event_name = "uops_dispatched_port.port_6",
906  },
907  {
908  .event_code = {0xA1},
909  .umask = 0x80,
910  .event_name = "uops_executed_port.port_7",
911  },
912  {
913  .event_code = {0xA1},
914  .umask = 0x80,
915  .event_name = "uops_executed_port.port_7_core",
916  },
917  {
918  .event_code = {0xA1},
919  .umask = 0x80,
920  .event_name = "uops_dispatched_port.port_7",
921  },
922  {
923  .event_code = {0xA2},
924  .umask = 0x01,
925  .event_name = "resource_stalls.any",
926  },
927  {
928  .event_code = {0xA2},
929  .umask = 0x04,
930  .event_name = "resource_stalls.rs",
931  },
932  {
933  .event_code = {0xA2},
934  .umask = 0x08,
935  .event_name = "resource_stalls.sb",
936  },
937  {
938  .event_code = {0xA2},
939  .umask = 0x10,
940  .event_name = "resource_stalls.rob",
941  },
942  {
943  .event_code = {0xA3},
944  .umask = 0x01,
945  .event_name = "cycle_activity.cycles_l2_pending",
946  },
947  {
948  .event_code = {0xA3},
949  .umask = 0x02,
950  .event_name = "cycle_activity.cycles_ldm_pending",
951  },
952  {
953  .event_code = {0xA3},
954  .umask = 0x04,
955  .event_name = "cycle_activity.cycles_no_execute",
956  },
957  {
958  .event_code = {0xA3},
959  .umask = 0x05,
960  .event_name = "cycle_activity.stalls_l2_pending",
961  },
962  {
963  .event_code = {0xA3},
964  .umask = 0x06,
965  .event_name = "cycle_activity.stalls_ldm_pending",
966  },
967  {
968  .event_code = {0xA3},
969  .umask = 0x08,
970  .event_name = "cycle_activity.cycles_l1d_pending",
971  },
972  {
973  .event_code = {0xA3},
974  .umask = 0x0C,
975  .event_name = "cycle_activity.stalls_l1d_pending",
976  },
977  {
978  .event_code = {0xa8},
979  .umask = 0x01,
980  .event_name = "lsd.uops",
981  },
982  {
983  .event_code = {0xA8},
984  .umask = 0x01,
985  .event_name = "lsd.cycles_active",
986  },
987  {
988  .event_code = {0xA8},
989  .umask = 0x01,
990  .event_name = "lsd.cycles_4_uops",
991  },
992  {
993  .event_code = {0xAB},
994  .umask = 0x02,
995  .event_name = "dsb2mite_switches.penalty_cycles",
996  },
997  {
998  .event_code = {0xae},
999  .umask = 0x01,
1000  .event_name = "itlb.itlb_flush",
1001  },
1002  {
1003  .event_code = {0xB0},
1004  .umask = 0x01,
1005  .event_name = "offcore_requests.demand_data_rd",
1006  },
1007  {
1008  .event_code = {0xB0},
1009  .umask = 0x02,
1010  .event_name = "offcore_requests.demand_code_rd",
1011  },
1012  {
1013  .event_code = {0xB0},
1014  .umask = 0x04,
1015  .event_name = "offcore_requests.demand_rfo",
1016  },
1017  {
1018  .event_code = {0xB0},
1019  .umask = 0x08,
1020  .event_name = "offcore_requests.all_data_rd",
1021  },
1022  {
1023  .event_code = {0xB1},
1024  .umask = 0x01,
1025  .event_name = "uops_executed.stall_cycles",
1026  },
1027  {
1028  .event_code = {0xB1},
1029  .umask = 0x01,
1030  .event_name = "uops_executed.cycles_ge_1_uop_exec",
1031  },
1032  {
1033  .event_code = {0xB1},
1034  .umask = 0x01,
1035  .event_name = "uops_executed.cycles_ge_2_uops_exec",
1036  },
1037  {
1038  .event_code = {0xB1},
1039  .umask = 0x01,
1040  .event_name = "uops_executed.cycles_ge_3_uops_exec",
1041  },
1042  {
1043  .event_code = {0xB1},
1044  .umask = 0x01,
1045  .event_name = "uops_executed.cycles_ge_4_uops_exec",
1046  },
1047  {
1048  .event_code = {0xB1},
1049  .umask = 0x02,
1050  .event_name = "uops_executed.core",
1051  },
1052  {
1053  .event_code = {0xb2},
1054  .umask = 0x01,
1055  .event_name = "offcore_requests_buffer.sq_full",
1056  },
1057  {
1058  .event_code = {0xBC},
1059  .umask = 0x11,
1060  .event_name = "page_walker_loads.dtlb_l1",
1061  },
1062  {
1063  .event_code = {0xBC},
1064  .umask = 0x12,
1065  .event_name = "page_walker_loads.dtlb_l2",
1066  },
1067  {
1068  .event_code = {0xBC},
1069  .umask = 0x14,
1070  .event_name = "page_walker_loads.dtlb_l3",
1071  },
1072  {
1073  .event_code = {0xBC},
1074  .umask = 0x18,
1075  .event_name = "page_walker_loads.dtlb_memory",
1076  },
1077  {
1078  .event_code = {0xBC},
1079  .umask = 0x21,
1080  .event_name = "page_walker_loads.itlb_l1",
1081  },
1082  {
1083  .event_code = {0xBC},
1084  .umask = 0x22,
1085  .event_name = "page_walker_loads.itlb_l2",
1086  },
1087  {
1088  .event_code = {0xBC},
1089  .umask = 0x24,
1090  .event_name = "page_walker_loads.itlb_l3",
1091  },
1092  {
1093  .event_code = {0xBC},
1094  .umask = 0x28,
1095  .event_name = "page_walker_loads.itlb_memory",
1096  },
1097  {
1098  .event_code = {0xBC},
1099  .umask = 0x41,
1100  .event_name = "page_walker_loads.ept_dtlb_l1",
1101  },
1102  {
1103  .event_code = {0xBC},
1104  .umask = 0x42,
1105  .event_name = "page_walker_loads.ept_dtlb_l2",
1106  },
1107  {
1108  .event_code = {0xBC},
1109  .umask = 0x44,
1110  .event_name = "page_walker_loads.ept_dtlb_l3",
1111  },
1112  {
1113  .event_code = {0xBC},
1114  .umask = 0x48,
1115  .event_name = "page_walker_loads.ept_dtlb_memory",
1116  },
1117  {
1118  .event_code = {0xBC},
1119  .umask = 0x81,
1120  .event_name = "page_walker_loads.ept_itlb_l1",
1121  },
1122  {
1123  .event_code = {0xBC},
1124  .umask = 0x82,
1125  .event_name = "page_walker_loads.ept_itlb_l2",
1126  },
1127  {
1128  .event_code = {0xBC},
1129  .umask = 0x84,
1130  .event_name = "page_walker_loads.ept_itlb_l3",
1131  },
1132  {
1133  .event_code = {0xBC},
1134  .umask = 0x88,
1135  .event_name = "page_walker_loads.ept_itlb_memory",
1136  },
1137  {
1138  .event_code = {0xBD},
1139  .umask = 0x01,
1140  .event_name = "tlb_flush.dtlb_thread",
1141  },
1142  {
1143  .event_code = {0xBD},
1144  .umask = 0x20,
1145  .event_name = "tlb_flush.stlb_any",
1146  },
1147  {
1148  .event_code = {0xC0},
1149  .umask = 0x00,
1150  .event_name = "inst_retired.any_p",
1151  },
1152  {
1153  .event_code = {0xC0},
1154  .umask = 0x01,
1155  .event_name = "inst_retired.prec_dist",
1156  },
1157  {
1158  .event_code = {0xC0},
1159  .umask = 0x02,
1160  .event_name = "inst_retired.x87",
1161  },
1162  {
1163  .event_code = {0xC1},
1164  .umask = 0x08,
1165  .event_name = "other_assists.avx_to_sse",
1166  },
1167  {
1168  .event_code = {0xC1},
1169  .umask = 0x10,
1170  .event_name = "other_assists.sse_to_avx",
1171  },
1172  {
1173  .event_code = {0xC1},
1174  .umask = 0x40,
1175  .event_name = "other_assists.any_wb_assist",
1176  },
1177  {
1178  .event_code = {0xC2},
1179  .umask = 0x01,
1180  .event_name = "uops_retired.all",
1181  },
1182  {
1183  .event_code = {0xC2},
1184  .umask = 0x01,
1185  .event_name = "uops_retired.stall_cycles",
1186  },
1187  {
1188  .event_code = {0xC2},
1189  .umask = 0x01,
1190  .event_name = "uops_retired.total_cycles",
1191  },
1192  {
1193  .event_code = {0xC2},
1194  .umask = 0x01,
1195  .event_name = "uops_retired.core_stall_cycles",
1196  },
1197  {
1198  .event_code = {0xC2},
1199  .umask = 0x02,
1200  .event_name = "uops_retired.retire_slots",
1201  },
1202  {
1203  .event_code = {0xC3},
1204  .umask = 0x01,
1205  .event_name = "machine_clears.cycles",
1206  },
1207  {
1208  .event_code = {0xC3},
1209  .umask = 0x01,
1210  .event_name = "machine_clears.count",
1211  },
1212  {
1213  .event_code = {0xC3},
1214  .umask = 0x02,
1215  .event_name = "machine_clears.memory_ordering",
1216  },
1217  {
1218  .event_code = {0xC3},
1219  .umask = 0x04,
1220  .event_name = "machine_clears.smc",
1221  },
1222  {
1223  .event_code = {0xC3},
1224  .umask = 0x20,
1225  .event_name = "machine_clears.maskmov",
1226  },
1227  {
1228  .event_code = {0xC4},
1229  .umask = 0x00,
1230  .event_name = "br_inst_retired.all_branches",
1231  },
1232  {
1233  .event_code = {0xC4},
1234  .umask = 0x01,
1235  .event_name = "br_inst_retired.conditional",
1236  },
1237  {
1238  .event_code = {0xC4},
1239  .umask = 0x02,
1240  .event_name = "br_inst_retired.near_call",
1241  },
1242  {
1243  .event_code = {0xC4},
1244  .umask = 0x02,
1245  .event_name = "br_inst_retired.near_call_r3",
1246  },
1247  {
1248  .event_code = {0xC4},
1249  .umask = 0x04,
1250  .event_name = "br_inst_retired.all_branches_pebs",
1251  },
1252  {
1253  .event_code = {0xC4},
1254  .umask = 0x08,
1255  .event_name = "br_inst_retired.near_return",
1256  },
1257  {
1258  .event_code = {0xC4},
1259  .umask = 0x10,
1260  .event_name = "br_inst_retired.not_taken",
1261  },
1262  {
1263  .event_code = {0xC4},
1264  .umask = 0x20,
1265  .event_name = "br_inst_retired.near_taken",
1266  },
1267  {
1268  .event_code = {0xC4},
1269  .umask = 0x40,
1270  .event_name = "br_inst_retired.far_branch",
1271  },
1272  {
1273  .event_code = {0xC5},
1274  .umask = 0x00,
1275  .event_name = "br_misp_retired.all_branches",
1276  },
1277  {
1278  .event_code = {0xC5},
1279  .umask = 0x01,
1280  .event_name = "br_misp_retired.conditional",
1281  },
1282  {
1283  .event_code = {0xC5},
1284  .umask = 0x04,
1285  .event_name = "br_misp_retired.all_branches_pebs",
1286  },
1287  {
1288  .event_code = {0xC5},
1289  .umask = 0x20,
1290  .event_name = "br_misp_retired.near_taken",
1291  },
1292  {
1293  .event_code = {0xC6},
1294  .umask = 0x07,
1295  .event_name = "avx_insts.all",
1296  },
1297  {
1298  .event_code = {0xC8},
1299  .umask = 0x01,
1300  .event_name = "hle_retired.start",
1301  },
1302  {
1303  .event_code = {0xc8},
1304  .umask = 0x02,
1305  .event_name = "hle_retired.commit",
1306  },
1307  {
1308  .event_code = {0xc8},
1309  .umask = 0x04,
1310  .event_name = "hle_retired.aborted",
1311  },
1312  {
1313  .event_code = {0xc8},
1314  .umask = 0x08,
1315  .event_name = "hle_retired.aborted_misc1",
1316  },
1317  {
1318  .event_code = {0xc8},
1319  .umask = 0x10,
1320  .event_name = "hle_retired.aborted_misc2",
1321  },
1322  {
1323  .event_code = {0xc8},
1324  .umask = 0x20,
1325  .event_name = "hle_retired.aborted_misc3",
1326  },
1327  {
1328  .event_code = {0xc8},
1329  .umask = 0x40,
1330  .event_name = "hle_retired.aborted_misc4",
1331  },
1332  {
1333  .event_code = {0xc8},
1334  .umask = 0x80,
1335  .event_name = "hle_retired.aborted_misc5",
1336  },
1337  {
1338  .event_code = {0xC9},
1339  .umask = 0x01,
1340  .event_name = "rtm_retired.start",
1341  },
1342  {
1343  .event_code = {0xc9},
1344  .umask = 0x02,
1345  .event_name = "rtm_retired.commit",
1346  },
1347  {
1348  .event_code = {0xc9},
1349  .umask = 0x04,
1350  .event_name = "rtm_retired.aborted",
1351  },
1352  {
1353  .event_code = {0xc9},
1354  .umask = 0x08,
1355  .event_name = "rtm_retired.aborted_misc1",
1356  },
1357  {
1358  .event_code = {0xc9},
1359  .umask = 0x10,
1360  .event_name = "rtm_retired.aborted_misc2",
1361  },
1362  {
1363  .event_code = {0xc9},
1364  .umask = 0x20,
1365  .event_name = "rtm_retired.aborted_misc3",
1366  },
1367  {
1368  .event_code = {0xc9},
1369  .umask = 0x40,
1370  .event_name = "rtm_retired.aborted_misc4",
1371  },
1372  {
1373  .event_code = {0xc9},
1374  .umask = 0x80,
1375  .event_name = "rtm_retired.aborted_misc5",
1376  },
1377  {
1378  .event_code = {0xCA},
1379  .umask = 0x02,
1380  .event_name = "fp_assist.x87_output",
1381  },
1382  {
1383  .event_code = {0xCA},
1384  .umask = 0x04,
1385  .event_name = "fp_assist.x87_input",
1386  },
1387  {
1388  .event_code = {0xCA},
1389  .umask = 0x08,
1390  .event_name = "fp_assist.simd_output",
1391  },
1392  {
1393  .event_code = {0xCA},
1394  .umask = 0x10,
1395  .event_name = "fp_assist.simd_input",
1396  },
1397  {
1398  .event_code = {0xCA},
1399  .umask = 0x1E,
1400  .event_name = "fp_assist.any",
1401  },
1402  {
1403  .event_code = {0xCC},
1404  .umask = 0x20,
1405  .event_name = "rob_misc_events.lbr_inserts",
1406  },
1407  {
1408  .event_code = {0xD0},
1409  .umask = 0x11,
1410  .event_name = "mem_uops_retired.stlb_miss_loads",
1411  },
1412  {
1413  .event_code = {0xD0},
1414  .umask = 0x12,
1415  .event_name = "mem_uops_retired.stlb_miss_stores",
1416  },
1417  {
1418  .event_code = {0xD0},
1419  .umask = 0x21,
1420  .event_name = "mem_uops_retired.lock_loads",
1421  },
1422  {
1423  .event_code = {0xD0},
1424  .umask = 0x41,
1425  .event_name = "mem_uops_retired.split_loads",
1426  },
1427  {
1428  .event_code = {0xD0},
1429  .umask = 0x42,
1430  .event_name = "mem_uops_retired.split_stores",
1431  },
1432  {
1433  .event_code = {0xD0},
1434  .umask = 0x81,
1435  .event_name = "mem_uops_retired.all_loads",
1436  },
1437  {
1438  .event_code = {0xD0},
1439  .umask = 0x82,
1440  .event_name = "mem_uops_retired.all_stores",
1441  },
1442  {
1443  .event_code = {0xD1},
1444  .umask = 0x01,
1445  .event_name = "mem_load_uops_retired.l1_hit",
1446  },
1447  {
1448  .event_code = {0xD1},
1449  .umask = 0x02,
1450  .event_name = "mem_load_uops_retired.l2_hit",
1451  },
1452  {
1453  .event_code = {0xD1},
1454  .umask = 0x04,
1455  .event_name = "mem_load_uops_retired.l3_hit",
1456  },
1457  {
1458  .event_code = {0xD1},
1459  .umask = 0x08,
1460  .event_name = "mem_load_uops_retired.l1_miss",
1461  },
1462  {
1463  .event_code = {0xD1},
1464  .umask = 0x10,
1465  .event_name = "mem_load_uops_retired.l2_miss",
1466  },
1467  {
1468  .event_code = {0xD1},
1469  .umask = 0x20,
1470  .event_name = "mem_load_uops_retired.l3_miss",
1471  },
1472  {
1473  .event_code = {0xD1},
1474  .umask = 0x40,
1475  .event_name = "mem_load_uops_retired.hit_lfb",
1476  },
1477  {
1478  .event_code = {0xD2},
1479  .umask = 0x01,
1480  .event_name = "mem_load_uops_l3_hit_retired.xsnp_miss",
1481  },
1482  {
1483  .event_code = {0xD2},
1484  .umask = 0x02,
1485  .event_name = "mem_load_uops_l3_hit_retired.xsnp_hit",
1486  },
1487  {
1488  .event_code = {0xD2},
1489  .umask = 0x04,
1490  .event_name = "mem_load_uops_l3_hit_retired.xsnp_hitm",
1491  },
1492  {
1493  .event_code = {0xD2},
1494  .umask = 0x08,
1495  .event_name = "mem_load_uops_l3_hit_retired.xsnp_none",
1496  },
1497  {
1498  .event_code = {0xD3},
1499  .umask = 0x01,
1500  .event_name = "mem_load_uops_l3_miss_retired.local_dram",
1501  },
1502  {
1503  .event_code = {0xe6},
1504  .umask = 0x1f,
1505  .event_name = "baclears.any",
1506  },
1507  {
1508  .event_code = {0xf0},
1509  .umask = 0x01,
1510  .event_name = "l2_trans.demand_data_rd",
1511  },
1512  {
1513  .event_code = {0xf0},
1514  .umask = 0x02,
1515  .event_name = "l2_trans.rfo",
1516  },
1517  {
1518  .event_code = {0xf0},
1519  .umask = 0x04,
1520  .event_name = "l2_trans.code_rd",
1521  },
1522  {
1523  .event_code = {0xf0},
1524  .umask = 0x08,
1525  .event_name = "l2_trans.all_pf",
1526  },
1527  {
1528  .event_code = {0xf0},
1529  .umask = 0x10,
1530  .event_name = "l2_trans.l1d_wb",
1531  },
1532  {
1533  .event_code = {0xf0},
1534  .umask = 0x20,
1535  .event_name = "l2_trans.l2_fill",
1536  },
1537  {
1538  .event_code = {0xf0},
1539  .umask = 0x40,
1540  .event_name = "l2_trans.l2_wb",
1541  },
1542  {
1543  .event_code = {0xf0},
1544  .umask = 0x80,
1545  .event_name = "l2_trans.all_requests",
1546  },
1547  {
1548  .event_code = {0xF1},
1549  .umask = 0x01,
1550  .event_name = "l2_lines_in.i",
1551  },
1552  {
1553  .event_code = {0xF1},
1554  .umask = 0x02,
1555  .event_name = "l2_lines_in.s",
1556  },
1557  {
1558  .event_code = {0xF1},
1559  .umask = 0x04,
1560  .event_name = "l2_lines_in.e",
1561  },
1562  {
1563  .event_code = {0xF1},
1564  .umask = 0x07,
1565  .event_name = "l2_lines_in.all",
1566  },
1567  {
1568  .event_code = {0xF2},
1569  .umask = 0x05,
1570  .event_name = "l2_lines_out.demand_clean",
1571  },
1572  {
1573  .event_code = {0xF2},
1574  .umask = 0x06,
1575  .event_name = "l2_lines_out.demand_dirty",
1576  },
1577  {
1578  .event_code = {0xf4},
1579  .umask = 0x10,
1580  .event_name = "sq_misc.split_lock",
1581  },
1582  {
1583  .event_name = 0,
1584  },
1585 };
1586 
1587 PERFMON_REGISTER_INTEL_PMC (cpu_model_table, event_table);
1588 
PERFMON_REGISTER_INTEL_PMC(cpu_model_table, event_table)