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