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