FD.io VPP  v20.01-48-g3e0dafb74
Vector Packet Processing
perfmon_intel_nhm_ex.c
Go to the documentation of this file.
1 
3 
4 static perfmon_intel_pmc_cpu_model_t cpu_model_table[] = {
5  {0x2E, 0x00, 0},
6 
7 };
8 
9 static perfmon_intel_pmc_event_t event_table[] = {
10  {
11  .event_code = {0x14},
12  .umask = 0x1,
13  .event_name = "arith.cycles_div_busy",
14  },
15  {
16  .event_code = {0x14},
17  .umask = 0x1,
18  .event_name = "arith.div",
19  },
20  {
21  .event_code = {0x14},
22  .umask = 0x2,
23  .event_name = "arith.mul",
24  },
25  {
26  .event_code = {0xE6},
27  .umask = 0x2,
28  .event_name = "baclear.bad_target",
29  },
30  {
31  .event_code = {0xE6},
32  .umask = 0x1,
33  .event_name = "baclear.clear",
34  },
35  {
36  .event_code = {0xA7},
37  .umask = 0x1,
38  .event_name = "baclear_force_iq",
39  },
40  {
41  .event_code = {0xE8},
42  .umask = 0x1,
43  .event_name = "bpu_clears.early",
44  },
45  {
46  .event_code = {0xE8},
47  .umask = 0x2,
48  .event_name = "bpu_clears.late",
49  },
50  {
51  .event_code = {0xE5},
52  .umask = 0x1,
53  .event_name = "bpu_missed_call_ret",
54  },
55  {
56  .event_code = {0xE0},
57  .umask = 0x1,
58  .event_name = "br_inst_decoded",
59  },
60  {
61  .event_code = {0x88},
62  .umask = 0x7F,
63  .event_name = "br_inst_exec.any",
64  },
65  {
66  .event_code = {0x88},
67  .umask = 0x1,
68  .event_name = "br_inst_exec.cond",
69  },
70  {
71  .event_code = {0x88},
72  .umask = 0x2,
73  .event_name = "br_inst_exec.direct",
74  },
75  {
76  .event_code = {0x88},
77  .umask = 0x10,
78  .event_name = "br_inst_exec.direct_near_call",
79  },
80  {
81  .event_code = {0x88},
82  .umask = 0x20,
83  .event_name = "br_inst_exec.indirect_near_call",
84  },
85  {
86  .event_code = {0x88},
87  .umask = 0x4,
88  .event_name = "br_inst_exec.indirect_non_call",
89  },
90  {
91  .event_code = {0x88},
92  .umask = 0x30,
93  .event_name = "br_inst_exec.near_calls",
94  },
95  {
96  .event_code = {0x88},
97  .umask = 0x7,
98  .event_name = "br_inst_exec.non_calls",
99  },
100  {
101  .event_code = {0x88},
102  .umask = 0x8,
103  .event_name = "br_inst_exec.return_near",
104  },
105  {
106  .event_code = {0x88},
107  .umask = 0x40,
108  .event_name = "br_inst_exec.taken",
109  },
110  {
111  .event_code = {0xC4},
112  .umask = 0x4,
113  .event_name = "br_inst_retired.all_branches",
114  },
115  {
116  .event_code = {0xC4},
117  .umask = 0x1,
118  .event_name = "br_inst_retired.conditional",
119  },
120  {
121  .event_code = {0xC4},
122  .umask = 0x2,
123  .event_name = "br_inst_retired.near_call",
124  },
125  {
126  .event_code = {0x89},
127  .umask = 0x7F,
128  .event_name = "br_misp_exec.any",
129  },
130  {
131  .event_code = {0x89},
132  .umask = 0x1,
133  .event_name = "br_misp_exec.cond",
134  },
135  {
136  .event_code = {0x89},
137  .umask = 0x2,
138  .event_name = "br_misp_exec.direct",
139  },
140  {
141  .event_code = {0x89},
142  .umask = 0x10,
143  .event_name = "br_misp_exec.direct_near_call",
144  },
145  {
146  .event_code = {0x89},
147  .umask = 0x20,
148  .event_name = "br_misp_exec.indirect_near_call",
149  },
150  {
151  .event_code = {0x89},
152  .umask = 0x4,
153  .event_name = "br_misp_exec.indirect_non_call",
154  },
155  {
156  .event_code = {0x89},
157  .umask = 0x30,
158  .event_name = "br_misp_exec.near_calls",
159  },
160  {
161  .event_code = {0x89},
162  .umask = 0x7,
163  .event_name = "br_misp_exec.non_calls",
164  },
165  {
166  .event_code = {0x89},
167  .umask = 0x8,
168  .event_name = "br_misp_exec.return_near",
169  },
170  {
171  .event_code = {0x89},
172  .umask = 0x40,
173  .event_name = "br_misp_exec.taken",
174  },
175  {
176  .event_code = {0xC5},
177  .umask = 0x2,
178  .event_name = "br_misp_retired.near_call",
179  },
180  {
181  .event_code = {0x63},
182  .umask = 0x2,
183  .event_name = "cache_lock_cycles.l1d",
184  },
185  {
186  .event_code = {0x63},
187  .umask = 0x1,
188  .event_name = "cache_lock_cycles.l1d_l2",
189  },
190  {
191  .event_code = {0x0},
192  .umask = 0x0,
193  .event_name = "cpu_clk_unhalted.ref",
194  },
195  {
196  .event_code = {0x3C},
197  .umask = 0x1,
198  .event_name = "cpu_clk_unhalted.ref_p",
199  },
200  {
201  .event_code = {0x0},
202  .umask = 0x0,
203  .event_name = "cpu_clk_unhalted.thread",
204  },
205  {
206  .event_code = {0x3C},
207  .umask = 0x0,
208  .event_name = "cpu_clk_unhalted.thread_p",
209  },
210  {
211  .event_code = {0x3C},
212  .umask = 0x0,
213  .event_name = "cpu_clk_unhalted.total_cycles",
214  },
215  {
216  .event_code = {0x8},
217  .umask = 0x1,
218  .event_name = "dtlb_load_misses.any",
219  },
220  {
221  .event_code = {0x8},
222  .umask = 0x20,
223  .event_name = "dtlb_load_misses.pde_miss",
224  },
225  {
226  .event_code = {0x8},
227  .umask = 0x10,
228  .event_name = "dtlb_load_misses.stlb_hit",
229  },
230  {
231  .event_code = {0x8},
232  .umask = 0x2,
233  .event_name = "dtlb_load_misses.walk_completed",
234  },
235  {
236  .event_code = {0x49},
237  .umask = 0x1,
238  .event_name = "dtlb_misses.any",
239  },
240  {
241  .event_code = {0x49},
242  .umask = 0x10,
243  .event_name = "dtlb_misses.stlb_hit",
244  },
245  {
246  .event_code = {0x49},
247  .umask = 0x2,
248  .event_name = "dtlb_misses.walk_completed",
249  },
250  {
251  .event_code = {0xD5},
252  .umask = 0x1,
253  .event_name = "es_reg_renames",
254  },
255  {
256  .event_code = {0xF7},
257  .umask = 0x1,
258  .event_name = "fp_assist.all",
259  },
260  {
261  .event_code = {0xF7},
262  .umask = 0x4,
263  .event_name = "fp_assist.input",
264  },
265  {
266  .event_code = {0xF7},
267  .umask = 0x2,
268  .event_name = "fp_assist.output",
269  },
270  {
271  .event_code = {0x10},
272  .umask = 0x2,
273  .event_name = "fp_comp_ops_exe.mmx",
274  },
275  {
276  .event_code = {0x10},
277  .umask = 0x80,
278  .event_name = "fp_comp_ops_exe.sse_double_precision",
279  },
280  {
281  .event_code = {0x10},
282  .umask = 0x4,
283  .event_name = "fp_comp_ops_exe.sse_fp",
284  },
285  {
286  .event_code = {0x10},
287  .umask = 0x10,
288  .event_name = "fp_comp_ops_exe.sse_fp_packed",
289  },
290  {
291  .event_code = {0x10},
292  .umask = 0x20,
293  .event_name = "fp_comp_ops_exe.sse_fp_scalar",
294  },
295  {
296  .event_code = {0x10},
297  .umask = 0x40,
298  .event_name = "fp_comp_ops_exe.sse_single_precision",
299  },
300  {
301  .event_code = {0x10},
302  .umask = 0x8,
303  .event_name = "fp_comp_ops_exe.sse2_integer",
304  },
305  {
306  .event_code = {0x10},
307  .umask = 0x1,
308  .event_name = "fp_comp_ops_exe.x87",
309  },
310  {
311  .event_code = {0xCC},
312  .umask = 0x3,
313  .event_name = "fp_mmx_trans.any",
314  },
315  {
316  .event_code = {0xCC},
317  .umask = 0x1,
318  .event_name = "fp_mmx_trans.to_fp",
319  },
320  {
321  .event_code = {0xCC},
322  .umask = 0x2,
323  .event_name = "fp_mmx_trans.to_mmx",
324  },
325  {
326  .event_code = {0x87},
327  .umask = 0xF,
328  .event_name = "ild_stall.any",
329  },
330  {
331  .event_code = {0x87},
332  .umask = 0x4,
333  .event_name = "ild_stall.iq_full",
334  },
335  {
336  .event_code = {0x87},
337  .umask = 0x1,
338  .event_name = "ild_stall.lcp",
339  },
340  {
341  .event_code = {0x87},
342  .umask = 0x2,
343  .event_name = "ild_stall.mru",
344  },
345  {
346  .event_code = {0x87},
347  .umask = 0x8,
348  .event_name = "ild_stall.regen",
349  },
350  {
351  .event_code = {0x18},
352  .umask = 0x1,
353  .event_name = "inst_decoded.dec0",
354  },
355  {
356  .event_code = {0x1E},
357  .umask = 0x1,
358  .event_name = "inst_queue_write_cycles",
359  },
360  {
361  .event_code = {0x17},
362  .umask = 0x1,
363  .event_name = "inst_queue_writes",
364  },
365  {
366  .event_code = {0x0},
367  .umask = 0x0,
368  .event_name = "inst_retired.any",
369  },
370  {
371  .event_code = {0xC0},
372  .umask = 0x1,
373  .event_name = "inst_retired.any_p",
374  },
375  {
376  .event_code = {0xC0},
377  .umask = 0x4,
378  .event_name = "inst_retired.mmx",
379  },
380  {
381  .event_code = {0xC0},
382  .umask = 0x1,
383  .event_name = "inst_retired.total_cycles",
384  },
385  {
386  .event_code = {0xC0},
387  .umask = 0x2,
388  .event_name = "inst_retired.x87",
389  },
390  {
391  .event_code = {0x6C},
392  .umask = 0x1,
393  .event_name = "io_transactions",
394  },
395  {
396  .event_code = {0xAE},
397  .umask = 0x1,
398  .event_name = "itlb_flush",
399  },
400  {
401  .event_code = {0xC8},
402  .umask = 0x20,
403  .event_name = "itlb_miss_retired",
404  },
405  {
406  .event_code = {0x85},
407  .umask = 0x1,
408  .event_name = "itlb_misses.any",
409  },
410  {
411  .event_code = {0x85},
412  .umask = 0x2,
413  .event_name = "itlb_misses.walk_completed",
414  },
415  {
416  .event_code = {0x51},
417  .umask = 0x4,
418  .event_name = "l1d.m_evict",
419  },
420  {
421  .event_code = {0x51},
422  .umask = 0x2,
423  .event_name = "l1d.m_repl",
424  },
425  {
426  .event_code = {0x51},
427  .umask = 0x8,
428  .event_name = "l1d.m_snoop_evict",
429  },
430  {
431  .event_code = {0x51},
432  .umask = 0x1,
433  .event_name = "l1d.repl",
434  },
435  {
436  .event_code = {0x43},
437  .umask = 0x1,
438  .event_name = "l1d_all_ref.any",
439  },
440  {
441  .event_code = {0x43},
442  .umask = 0x2,
443  .event_name = "l1d_all_ref.cacheable",
444  },
445  {
446  .event_code = {0x40},
447  .umask = 0x4,
448  .event_name = "l1d_cache_ld.e_state",
449  },
450  {
451  .event_code = {0x40},
452  .umask = 0x1,
453  .event_name = "l1d_cache_ld.i_state",
454  },
455  {
456  .event_code = {0x40},
457  .umask = 0x8,
458  .event_name = "l1d_cache_ld.m_state",
459  },
460  {
461  .event_code = {0x40},
462  .umask = 0xF,
463  .event_name = "l1d_cache_ld.mesi",
464  },
465  {
466  .event_code = {0x40},
467  .umask = 0x2,
468  .event_name = "l1d_cache_ld.s_state",
469  },
470  {
471  .event_code = {0x42},
472  .umask = 0x4,
473  .event_name = "l1d_cache_lock.e_state",
474  },
475  {
476  .event_code = {0x42},
477  .umask = 0x1,
478  .event_name = "l1d_cache_lock.hit",
479  },
480  {
481  .event_code = {0x42},
482  .umask = 0x8,
483  .event_name = "l1d_cache_lock.m_state",
484  },
485  {
486  .event_code = {0x42},
487  .umask = 0x2,
488  .event_name = "l1d_cache_lock.s_state",
489  },
490  {
491  .event_code = {0x53},
492  .umask = 0x1,
493  .event_name = "l1d_cache_lock_fb_hit",
494  },
495  {
496  .event_code = {0x52},
497  .umask = 0x1,
498  .event_name = "l1d_cache_prefetch_lock_fb_hit",
499  },
500  {
501  .event_code = {0x41},
502  .umask = 0x4,
503  .event_name = "l1d_cache_st.e_state",
504  },
505  {
506  .event_code = {0x41},
507  .umask = 0x8,
508  .event_name = "l1d_cache_st.m_state",
509  },
510  {
511  .event_code = {0x41},
512  .umask = 0x2,
513  .event_name = "l1d_cache_st.s_state",
514  },
515  {
516  .event_code = {0x4E},
517  .umask = 0x2,
518  .event_name = "l1d_prefetch.miss",
519  },
520  {
521  .event_code = {0x4E},
522  .umask = 0x1,
523  .event_name = "l1d_prefetch.requests",
524  },
525  {
526  .event_code = {0x4E},
527  .umask = 0x4,
528  .event_name = "l1d_prefetch.triggers",
529  },
530  {
531  .event_code = {0x28},
532  .umask = 0x4,
533  .event_name = "l1d_wb_l2.e_state",
534  },
535  {
536  .event_code = {0x28},
537  .umask = 0x1,
538  .event_name = "l1d_wb_l2.i_state",
539  },
540  {
541  .event_code = {0x28},
542  .umask = 0x8,
543  .event_name = "l1d_wb_l2.m_state",
544  },
545  {
546  .event_code = {0x28},
547  .umask = 0xF,
548  .event_name = "l1d_wb_l2.mesi",
549  },
550  {
551  .event_code = {0x28},
552  .umask = 0x2,
553  .event_name = "l1d_wb_l2.s_state",
554  },
555  {
556  .event_code = {0x80},
557  .umask = 0x4,
558  .event_name = "l1i.cycles_stalled",
559  },
560  {
561  .event_code = {0x80},
562  .umask = 0x1,
563  .event_name = "l1i.hits",
564  },
565  {
566  .event_code = {0x80},
567  .umask = 0x2,
568  .event_name = "l1i.misses",
569  },
570  {
571  .event_code = {0x80},
572  .umask = 0x3,
573  .event_name = "l1i.reads",
574  },
575  {
576  .event_code = {0x26},
577  .umask = 0xFF,
578  .event_name = "l2_data_rqsts.any",
579  },
580  {
581  .event_code = {0x26},
582  .umask = 0x4,
583  .event_name = "l2_data_rqsts.demand.e_state",
584  },
585  {
586  .event_code = {0x26},
587  .umask = 0x1,
588  .event_name = "l2_data_rqsts.demand.i_state",
589  },
590  {
591  .event_code = {0x26},
592  .umask = 0x8,
593  .event_name = "l2_data_rqsts.demand.m_state",
594  },
595  {
596  .event_code = {0x26},
597  .umask = 0xF,
598  .event_name = "l2_data_rqsts.demand.mesi",
599  },
600  {
601  .event_code = {0x26},
602  .umask = 0x2,
603  .event_name = "l2_data_rqsts.demand.s_state",
604  },
605  {
606  .event_code = {0x26},
607  .umask = 0x40,
608  .event_name = "l2_data_rqsts.prefetch.e_state",
609  },
610  {
611  .event_code = {0x26},
612  .umask = 0x10,
613  .event_name = "l2_data_rqsts.prefetch.i_state",
614  },
615  {
616  .event_code = {0x26},
617  .umask = 0x80,
618  .event_name = "l2_data_rqsts.prefetch.m_state",
619  },
620  {
621  .event_code = {0x26},
622  .umask = 0xF0,
623  .event_name = "l2_data_rqsts.prefetch.mesi",
624  },
625  {
626  .event_code = {0x26},
627  .umask = 0x20,
628  .event_name = "l2_data_rqsts.prefetch.s_state",
629  },
630  {
631  .event_code = {0xF1},
632  .umask = 0x7,
633  .event_name = "l2_lines_in.any",
634  },
635  {
636  .event_code = {0xF1},
637  .umask = 0x4,
638  .event_name = "l2_lines_in.e_state",
639  },
640  {
641  .event_code = {0xF1},
642  .umask = 0x2,
643  .event_name = "l2_lines_in.s_state",
644  },
645  {
646  .event_code = {0xF2},
647  .umask = 0xF,
648  .event_name = "l2_lines_out.any",
649  },
650  {
651  .event_code = {0xF2},
652  .umask = 0x1,
653  .event_name = "l2_lines_out.demand_clean",
654  },
655  {
656  .event_code = {0xF2},
657  .umask = 0x2,
658  .event_name = "l2_lines_out.demand_dirty",
659  },
660  {
661  .event_code = {0xF2},
662  .umask = 0x4,
663  .event_name = "l2_lines_out.prefetch_clean",
664  },
665  {
666  .event_code = {0xF2},
667  .umask = 0x8,
668  .event_name = "l2_lines_out.prefetch_dirty",
669  },
670  {
671  .event_code = {0x24},
672  .umask = 0x10,
673  .event_name = "l2_rqsts.ifetch_hit",
674  },
675  {
676  .event_code = {0x24},
677  .umask = 0x20,
678  .event_name = "l2_rqsts.ifetch_miss",
679  },
680  {
681  .event_code = {0x24},
682  .umask = 0x30,
683  .event_name = "l2_rqsts.ifetches",
684  },
685  {
686  .event_code = {0x24},
687  .umask = 0x1,
688  .event_name = "l2_rqsts.ld_hit",
689  },
690  {
691  .event_code = {0x24},
692  .umask = 0x2,
693  .event_name = "l2_rqsts.ld_miss",
694  },
695  {
696  .event_code = {0x24},
697  .umask = 0x3,
698  .event_name = "l2_rqsts.loads",
699  },
700  {
701  .event_code = {0x24},
702  .umask = 0xAA,
703  .event_name = "l2_rqsts.miss",
704  },
705  {
706  .event_code = {0x24},
707  .umask = 0x40,
708  .event_name = "l2_rqsts.prefetch_hit",
709  },
710  {
711  .event_code = {0x24},
712  .umask = 0x80,
713  .event_name = "l2_rqsts.prefetch_miss",
714  },
715  {
716  .event_code = {0x24},
717  .umask = 0xC0,
718  .event_name = "l2_rqsts.prefetches",
719  },
720  {
721  .event_code = {0x24},
722  .umask = 0xFF,
723  .event_name = "l2_rqsts.references",
724  },
725  {
726  .event_code = {0x24},
727  .umask = 0x4,
728  .event_name = "l2_rqsts.rfo_hit",
729  },
730  {
731  .event_code = {0x24},
732  .umask = 0x8,
733  .event_name = "l2_rqsts.rfo_miss",
734  },
735  {
736  .event_code = {0x24},
737  .umask = 0xC,
738  .event_name = "l2_rqsts.rfos",
739  },
740  {
741  .event_code = {0xF0},
742  .umask = 0x80,
743  .event_name = "l2_transactions.any",
744  },
745  {
746  .event_code = {0xF0},
747  .umask = 0x20,
748  .event_name = "l2_transactions.fill",
749  },
750  {
751  .event_code = {0xF0},
752  .umask = 0x4,
753  .event_name = "l2_transactions.ifetch",
754  },
755  {
756  .event_code = {0xF0},
757  .umask = 0x10,
758  .event_name = "l2_transactions.l1d_wb",
759  },
760  {
761  .event_code = {0xF0},
762  .umask = 0x1,
763  .event_name = "l2_transactions.load",
764  },
765  {
766  .event_code = {0xF0},
767  .umask = 0x8,
768  .event_name = "l2_transactions.prefetch",
769  },
770  {
771  .event_code = {0xF0},
772  .umask = 0x2,
773  .event_name = "l2_transactions.rfo",
774  },
775  {
776  .event_code = {0xF0},
777  .umask = 0x40,
778  .event_name = "l2_transactions.wb",
779  },
780  {
781  .event_code = {0x27},
782  .umask = 0x40,
783  .event_name = "l2_write.lock.e_state",
784  },
785  {
786  .event_code = {0x27},
787  .umask = 0xE0,
788  .event_name = "l2_write.lock.hit",
789  },
790  {
791  .event_code = {0x27},
792  .umask = 0x10,
793  .event_name = "l2_write.lock.i_state",
794  },
795  {
796  .event_code = {0x27},
797  .umask = 0x80,
798  .event_name = "l2_write.lock.m_state",
799  },
800  {
801  .event_code = {0x27},
802  .umask = 0xF0,
803  .event_name = "l2_write.lock.mesi",
804  },
805  {
806  .event_code = {0x27},
807  .umask = 0x20,
808  .event_name = "l2_write.lock.s_state",
809  },
810  {
811  .event_code = {0x27},
812  .umask = 0xE,
813  .event_name = "l2_write.rfo.hit",
814  },
815  {
816  .event_code = {0x27},
817  .umask = 0x1,
818  .event_name = "l2_write.rfo.i_state",
819  },
820  {
821  .event_code = {0x27},
822  .umask = 0x8,
823  .event_name = "l2_write.rfo.m_state",
824  },
825  {
826  .event_code = {0x27},
827  .umask = 0xF,
828  .event_name = "l2_write.rfo.mesi",
829  },
830  {
831  .event_code = {0x27},
832  .umask = 0x2,
833  .event_name = "l2_write.rfo.s_state",
834  },
835  {
836  .event_code = {0x82},
837  .umask = 0x1,
838  .event_name = "large_itlb.hit",
839  },
840  {
841  .event_code = {0x13},
842  .umask = 0x7,
843  .event_name = "load_dispatch.any",
844  },
845  {
846  .event_code = {0x13},
847  .umask = 0x4,
848  .event_name = "load_dispatch.mob",
849  },
850  {
851  .event_code = {0x13},
852  .umask = 0x1,
853  .event_name = "load_dispatch.rs",
854  },
855  {
856  .event_code = {0x13},
857  .umask = 0x2,
858  .event_name = "load_dispatch.rs_delayed",
859  },
860  {
861  .event_code = {0x4C},
862  .umask = 0x1,
863  .event_name = "load_hit_pre",
864  },
865  {
866  .event_code = {0x2E},
867  .umask = 0x41,
868  .event_name = "longest_lat_cache.miss",
869  },
870  {
871  .event_code = {0x2E},
872  .umask = 0x4F,
873  .event_name = "longest_lat_cache.reference",
874  },
875  {
876  .event_code = {0xA8},
877  .umask = 0x1,
878  .event_name = "lsd.active",
879  },
880  {
881  .event_code = {0xA8},
882  .umask = 0x1,
883  .event_name = "lsd.inactive",
884  },
885  {
886  .event_code = {0x20},
887  .umask = 0x1,
888  .event_name = "lsd_overflow",
889  },
890  {
891  .event_code = {0xC3},
892  .umask = 0x1,
893  .event_name = "machine_clears.cycles",
894  },
895  {
896  .event_code = {0xC3},
897  .umask = 0x2,
898  .event_name = "machine_clears.mem_order",
899  },
900  {
901  .event_code = {0xC3},
902  .umask = 0x4,
903  .event_name = "machine_clears.smc",
904  },
905  {
906  .event_code = {0xD0},
907  .umask = 0x1,
908  .event_name = "macro_insts.decoded",
909  },
910  {
911  .event_code = {0xA6},
912  .umask = 0x1,
913  .event_name = "macro_insts.fusions_decoded",
914  },
915  {
916  .event_code = {0xB},
917  .umask = 0x1,
918  .event_name = "mem_inst_retired.loads",
919  },
920  {
921  .event_code = {0xB},
922  .umask = 0x2,
923  .event_name = "mem_inst_retired.stores",
924  },
925  {
926  .event_code = {0xCB},
927  .umask = 0x80,
928  .event_name = "mem_load_retired.dtlb_miss",
929  },
930  {
931  .event_code = {0xCB},
932  .umask = 0x40,
933  .event_name = "mem_load_retired.hit_lfb",
934  },
935  {
936  .event_code = {0xCB},
937  .umask = 0x1,
938  .event_name = "mem_load_retired.l1d_hit",
939  },
940  {
941  .event_code = {0xCB},
942  .umask = 0x2,
943  .event_name = "mem_load_retired.l2_hit",
944  },
945  {
946  .event_code = {0xCB},
947  .umask = 0x10,
948  .event_name = "mem_load_retired.llc_miss",
949  },
950  {
951  .event_code = {0xCB},
952  .umask = 0x4,
953  .event_name = "mem_load_retired.llc_unshared_hit",
954  },
955  {
956  .event_code = {0xCB},
957  .umask = 0x8,
958  .event_name = "mem_load_retired.other_core_l2_hit_hitm",
959  },
960  {
961  .event_code = {0xC},
962  .umask = 0x1,
963  .event_name = "mem_store_retired.dtlb_miss",
964  },
965  {
966  .event_code = {0xB0},
967  .umask = 0x40,
968  .event_name = "offcore_requests.l1d_writeback",
969  },
970  {
971  .event_code = {0xB2},
972  .umask = 0x1,
973  .event_name = "offcore_requests_sq_full",
974  },
975  {
976  .event_code = {0x7},
977  .umask = 0x1,
978  .event_name = "partial_address_alias",
979  },
980  {
981  .event_code = {0xD2},
982  .umask = 0xF,
983  .event_name = "rat_stalls.any",
984  },
985  {
986  .event_code = {0xD2},
987  .umask = 0x1,
988  .event_name = "rat_stalls.flags",
989  },
990  {
991  .event_code = {0xD2},
992  .umask = 0x2,
993  .event_name = "rat_stalls.registers",
994  },
995  {
996  .event_code = {0xD2},
997  .umask = 0x4,
998  .event_name = "rat_stalls.rob_read_port",
999  },
1000  {
1001  .event_code = {0xD2},
1002  .umask = 0x8,
1003  .event_name = "rat_stalls.scoreboard",
1004  },
1005  {
1006  .event_code = {0xA2},
1007  .umask = 0x1,
1008  .event_name = "resource_stalls.any",
1009  },
1010  {
1011  .event_code = {0xA2},
1012  .umask = 0x20,
1013  .event_name = "resource_stalls.fpcw",
1014  },
1015  {
1016  .event_code = {0xA2},
1017  .umask = 0x2,
1018  .event_name = "resource_stalls.load",
1019  },
1020  {
1021  .event_code = {0xA2},
1022  .umask = 0x40,
1023  .event_name = "resource_stalls.mxcsr",
1024  },
1025  {
1026  .event_code = {0xA2},
1027  .umask = 0x80,
1028  .event_name = "resource_stalls.other",
1029  },
1030  {
1031  .event_code = {0xA2},
1032  .umask = 0x10,
1033  .event_name = "resource_stalls.rob_full",
1034  },
1035  {
1036  .event_code = {0xA2},
1037  .umask = 0x4,
1038  .event_name = "resource_stalls.rs_full",
1039  },
1040  {
1041  .event_code = {0xA2},
1042  .umask = 0x8,
1043  .event_name = "resource_stalls.store",
1044  },
1045  {
1046  .event_code = {0x4},
1047  .umask = 0x7,
1048  .event_name = "sb_drain.any",
1049  },
1050  {
1051  .event_code = {0xD4},
1052  .umask = 0x1,
1053  .event_name = "seg_rename_stalls",
1054  },
1055  {
1056  .event_code = {0x12},
1057  .umask = 0x4,
1058  .event_name = "simd_int_128.pack",
1059  },
1060  {
1061  .event_code = {0x12},
1062  .umask = 0x20,
1063  .event_name = "simd_int_128.packed_arith",
1064  },
1065  {
1066  .event_code = {0x12},
1067  .umask = 0x10,
1068  .event_name = "simd_int_128.packed_logical",
1069  },
1070  {
1071  .event_code = {0x12},
1072  .umask = 0x1,
1073  .event_name = "simd_int_128.packed_mpy",
1074  },
1075  {
1076  .event_code = {0x12},
1077  .umask = 0x2,
1078  .event_name = "simd_int_128.packed_shift",
1079  },
1080  {
1081  .event_code = {0x12},
1082  .umask = 0x40,
1083  .event_name = "simd_int_128.shuffle_move",
1084  },
1085  {
1086  .event_code = {0x12},
1087  .umask = 0x8,
1088  .event_name = "simd_int_128.unpack",
1089  },
1090  {
1091  .event_code = {0xFD},
1092  .umask = 0x4,
1093  .event_name = "simd_int_64.pack",
1094  },
1095  {
1096  .event_code = {0xFD},
1097  .umask = 0x20,
1098  .event_name = "simd_int_64.packed_arith",
1099  },
1100  {
1101  .event_code = {0xFD},
1102  .umask = 0x10,
1103  .event_name = "simd_int_64.packed_logical",
1104  },
1105  {
1106  .event_code = {0xFD},
1107  .umask = 0x1,
1108  .event_name = "simd_int_64.packed_mpy",
1109  },
1110  {
1111  .event_code = {0xFD},
1112  .umask = 0x2,
1113  .event_name = "simd_int_64.packed_shift",
1114  },
1115  {
1116  .event_code = {0xFD},
1117  .umask = 0x40,
1118  .event_name = "simd_int_64.shuffle_move",
1119  },
1120  {
1121  .event_code = {0xFD},
1122  .umask = 0x8,
1123  .event_name = "simd_int_64.unpack",
1124  },
1125  {
1126  .event_code = {0xB8},
1127  .umask = 0x1,
1128  .event_name = "snoop_response.hit",
1129  },
1130  {
1131  .event_code = {0xB8},
1132  .umask = 0x2,
1133  .event_name = "snoop_response.hite",
1134  },
1135  {
1136  .event_code = {0xB8},
1137  .umask = 0x4,
1138  .event_name = "snoop_response.hitm",
1139  },
1140  {
1141  .event_code = {0xF6},
1142  .umask = 0x1,
1143  .event_name = "sq_full_stall_cycles",
1144  },
1145  {
1146  .event_code = {0xF4},
1147  .umask = 0x10,
1148  .event_name = "sq_misc.split_lock",
1149  },
1150  {
1151  .event_code = {0xC7},
1152  .umask = 0x4,
1153  .event_name = "ssex_uops_retired.packed_double",
1154  },
1155  {
1156  .event_code = {0xC7},
1157  .umask = 0x1,
1158  .event_name = "ssex_uops_retired.packed_single",
1159  },
1160  {
1161  .event_code = {0xC7},
1162  .umask = 0x8,
1163  .event_name = "ssex_uops_retired.scalar_double",
1164  },
1165  {
1166  .event_code = {0xC7},
1167  .umask = 0x2,
1168  .event_name = "ssex_uops_retired.scalar_single",
1169  },
1170  {
1171  .event_code = {0xC7},
1172  .umask = 0x10,
1173  .event_name = "ssex_uops_retired.vector_integer",
1174  },
1175  {
1176  .event_code = {0x6},
1177  .umask = 0x4,
1178  .event_name = "store_blocks.at_ret",
1179  },
1180  {
1181  .event_code = {0x6},
1182  .umask = 0x8,
1183  .event_name = "store_blocks.l1d_block",
1184  },
1185  {
1186  .event_code = {0x19},
1187  .umask = 0x1,
1188  .event_name = "two_uop_insts_decoded",
1189  },
1190  {
1191  .event_code = {0xDB},
1192  .umask = 0x1,
1193  .event_name = "uop_unfusion",
1194  },
1195  {
1196  .event_code = {0xD1},
1197  .umask = 0x4,
1198  .event_name = "uops_decoded.esp_folding",
1199  },
1200  {
1201  .event_code = {0xD1},
1202  .umask = 0x8,
1203  .event_name = "uops_decoded.esp_sync",
1204  },
1205  {
1206  .event_code = {0xD1},
1207  .umask = 0x2,
1208  .event_name = "uops_decoded.ms_cycles_active",
1209  },
1210  {
1211  .event_code = {0xD1},
1212  .umask = 0x1,
1213  .event_name = "uops_decoded.stall_cycles",
1214  },
1215  {
1216  .event_code = {0xB1},
1217  .umask = 0x3F,
1218  .event_name = "uops_executed.core_active_cycles",
1219  },
1220  {
1221  .event_code = {0xB1},
1222  .umask = 0x1F,
1223  .event_name = "uops_executed.core_active_cycles_no_port5",
1224  },
1225  {
1226  .event_code = {0xB1},
1227  .umask = 0x3F,
1228  .event_name = "uops_executed.core_stall_count",
1229  },
1230  {
1231  .event_code = {0xB1},
1232  .umask = 0x1F,
1233  .event_name = "uops_executed.core_stall_count_no_port5",
1234  },
1235  {
1236  .event_code = {0xB1},
1237  .umask = 0x3F,
1238  .event_name = "uops_executed.core_stall_cycles",
1239  },
1240  {
1241  .event_code = {0xB1},
1242  .umask = 0x1F,
1243  .event_name = "uops_executed.core_stall_cycles_no_port5",
1244  },
1245  {
1246  .event_code = {0xB1},
1247  .umask = 0x1,
1248  .event_name = "uops_executed.port0",
1249  },
1250  {
1251  .event_code = {0xB1},
1252  .umask = 0x40,
1253  .event_name = "uops_executed.port015",
1254  },
1255  {
1256  .event_code = {0xB1},
1257  .umask = 0x40,
1258  .event_name = "uops_executed.port015_stall_cycles",
1259  },
1260  {
1261  .event_code = {0xB1},
1262  .umask = 0x2,
1263  .event_name = "uops_executed.port1",
1264  },
1265  {
1266  .event_code = {0xB1},
1267  .umask = 0x4,
1268  .event_name = "uops_executed.port2_core",
1269  },
1270  {
1271  .event_code = {0xB1},
1272  .umask = 0x80,
1273  .event_name = "uops_executed.port234_core",
1274  },
1275  {
1276  .event_code = {0xB1},
1277  .umask = 0x8,
1278  .event_name = "uops_executed.port3_core",
1279  },
1280  {
1281  .event_code = {0xB1},
1282  .umask = 0x10,
1283  .event_name = "uops_executed.port4_core",
1284  },
1285  {
1286  .event_code = {0xB1},
1287  .umask = 0x20,
1288  .event_name = "uops_executed.port5",
1289  },
1290  {
1291  .event_code = {0xE},
1292  .umask = 0x1,
1293  .event_name = "uops_issued.any",
1294  },
1295  {
1296  .event_code = {0xE},
1297  .umask = 0x1,
1298  .event_name = "uops_issued.core_stall_cycles",
1299  },
1300  {
1301  .event_code = {0xE},
1302  .umask = 0x1,
1303  .event_name = "uops_issued.cycles_all_threads",
1304  },
1305  {
1306  .event_code = {0xE},
1307  .umask = 0x2,
1308  .event_name = "uops_issued.fused",
1309  },
1310  {
1311  .event_code = {0xE},
1312  .umask = 0x1,
1313  .event_name = "uops_issued.stall_cycles",
1314  },
1315  {
1316  .event_code = {0xC2},
1317  .umask = 0x1,
1318  .event_name = "uops_retired.active_cycles",
1319  },
1320  {
1321  .event_code = {0xC2},
1322  .umask = 0x1,
1323  .event_name = "uops_retired.any",
1324  },
1325  {
1326  .event_code = {0xC2},
1327  .umask = 0x4,
1328  .event_name = "uops_retired.macro_fused",
1329  },
1330  {
1331  .event_code = {0xC2},
1332  .umask = 0x2,
1333  .event_name = "uops_retired.retire_slots",
1334  },
1335  {
1336  .event_code = {0xC2},
1337  .umask = 0x1,
1338  .event_name = "uops_retired.stall_cycles",
1339  },
1340  {
1341  .event_code = {0xC2},
1342  .umask = 0x1,
1343  .event_name = "uops_retired.total_cycles",
1344  },
1345  {
1346  .event_code = {0xC0},
1347  .umask = 0x1,
1348  .event_name = "inst_retired.total_cycles_ps",
1349  },
1350  {
1351  .event_name = 0,
1352  },
1353 };
1354 
1355 PERFMON_REGISTER_INTEL_PMC (cpu_model_table, event_table);
1356 
PERFMON_REGISTER_INTEL_PMC(cpu_model_table, event_table)