#include static perfmon_intel_pmc_cpu_model_t cpu_model_table[] = { {0x4E, 0x00, 0}, {0x5E, 0x00, 0}, {0x8E, 0x00, 0}, {0x9E, 0x00, 0}, }; static perfmon_intel_pmc_event_t event_table[] = { { .event_code = {0x00}, .umask = 0x01, .event_name = "inst_retired.any", }, { .event_code = {0x00}, .umask = 0x02, .event_name = "cpu_clk_unhalted.thread", }, { .event_code = {0x00}, .umask = 0x02, .event_name = "cpu_clk_unhalted.thread_any", }, { .event_code = {0x00}, .umask = 0x03, .event_name = "cpu_clk_unhalted.ref_tsc", }, { .event_code = {0x03}, .umask = 0x02, .event_name = "ld_blocks.store_forward", }, { .event_code = {0x03}, .umask = 0x08, .event_name = "ld_blocks.no_sr", }, { .event_code = {0x07}, .umask = 0x01, .event_name = "ld_blocks_partial.address_alias", }, { .event_code = {0x08}, .umask = 0x01, .event_name = "dtlb_load_misses.miss_causes_a_walk", }, { .event_code = {0x08}, .umask = 0x02, .event_name = "dtlb_load_misses.walk_completed_4k", }, { .event_code = {0x08}, .umask = 0x04, .event_name = "dtlb_load_misses.walk_completed_2m_4m", }, { .event_code = {0x08}, .umask = 0x08, .event_name = "dtlb_load_misses.walk_completed_1g", }, { .event_code = {0x08}, .umask = 0x0E, .event_name = "dtlb_load_misses.walk_completed", }, { .event_code = {0x08}, .umask = 0x10, .event_name = "dtlb_load_misses.walk_pending", }, { .event_code = {0x08}, .umask = 0x20, .event_name = "dtlb_load_misses.stlb_hit", }, { .event_code = {0x0D}, .umask = 0x01, .event_name = "int_misc.recovery_cycles", }, { .event_code = {0x0D}, .umask = 0x01, .event_name = "int_misc.recovery_cycles_any", }, { .event_code = {0x0D}, .umask = 0x80, .event_name = "int_misc.clear_resteer_cycles", }, { .event_code = {0x0E}, .umask = 0x01, .event_name = "uops_issued.any", }, { .event_code = {0x0E}, .umask = 0x01, .event_name = "uops_issued.stall_cycles", }, { .event_code = {0x0E}, .umask = 0x20, .event_name = "uops_issued.slow_lea", }, { .event_code = {0x14}, .umask = 0x01, .event_name = "arith.divider_active", }, { .event_code = {0x24}, .umask = 0x21, .event_name = "l2_rqsts.demand_data_rd_miss", }, { .event_code = {0x24}, .umask = 0x22, .event_name = "l2_rqsts.rfo_miss", }, { .event_code = {0x24}, .umask = 0x24, .event_name = "l2_rqsts.code_rd_miss", }, { .event_code = {0x24}, .umask = 0x27, .event_name = "l2_rqsts.all_demand_miss", }, { .event_code = {0x24}, .umask = 0x38, .event_name = "l2_rqsts.pf_miss", }, { .event_code = {0x24}, .umask = 0x3F, .event_name = "l2_rqsts.miss", }, { .event_code = {0x24}, .umask = 0xc1, .event_name = "l2_rqsts.demand_data_rd_hit", }, { .event_code = {0x24}, .umask = 0xc2, .event_name = "l2_rqsts.rfo_hit", }, { .event_code = {0x24}, .umask = 0xc4, .event_name = "l2_rqsts.code_rd_hit", }, { .event_code = {0x24}, .umask = 0xd8, .event_name = "l2_rqsts.pf_hit", }, { .event_code = {0x24}, .umask = 0xE1, .event_name = "l2_rqsts.all_demand_data_rd", }, { .event_code = {0x24}, .umask = 0xE2, .event_name = "l2_rqsts.all_rfo", }, { .event_code = {0x24}, .umask = 0xE4, .event_name = "l2_rqsts.all_code_rd", }, { .event_code = {0x24}, .umask = 0xe7, .event_name = "l2_rqsts.all_demand_references", }, { .event_code = {0x24}, .umask = 0xF8, .event_name = "l2_rqsts.all_pf", }, { .event_code = {0x24}, .umask = 0xFF, .event_name = "l2_rqsts.references", }, { .event_code = {0x2E}, .umask = 0x41, .event_name = "longest_lat_cache.miss", }, { .event_code = {0x2E}, .umask = 0x4F, .event_name = "longest_lat_cache.reference", }, { .event_code = {0x32}, .umask = 0x01, .event_name = "sw_prefetch_access.nta", }, { .event_code = {0x32}, .umask = 0x02, .event_name = "sw_prefetch_access.t0", }, { .event_code = {0x32}, .umask = 0x04, .event_name = "sw_prefetch_access.t1_t2", }, { .event_code = {0x32}, .umask = 0x08, .event_name = "sw_prefetch_access.prefetchw", }, { .event_code = {0x3C}, .umask = 0x00, .event_name = "cpu_clk_unhalted.thread_p", }, { .event_code = {0x3C}, .umask = 0x00, .event_name = "cpu_clk_unhalted.thread_p_any", }, { .event_code = {0x3C}, .umask = 0x00, .event_name = "cpu_clk_unhalted.ring0_trans", }, { .event_code = {0x3C}, .umask = 0x01, .event_name = "cpu_clk_thread_unhalted.ref_xclk", }, { .event_code = {0x3C}, .umask = 0x01, .event_name = "cpu_clk_thread_unhalted.ref_xclk_any", }, { .event_code = {0x3C}, .umask = 0x01, .event_name = "cpu_clk_unhalted.ref_xclk", }, { .event_code = {0x3C}, .umask = 0x01, .event_name = "cpu_clk_unhalted.ref_xclk_any", }, { .event_code = {0x3C}, .umask = 0x02, .event_name = "cpu_clk_thread_unhalted.one_thread_active", }, { .event_code = {0x48}, .umask = 0x01, .event_name = "l1d_pend_miss.pending", }, { .event_code = {0x48}, .umask = 0x01, .event_name = "l1d_pend_miss.pending_cycles", }, { .event_code = {0x48}, .umask = 0x02, .event_name = "l1d_pend_miss.fb_full", }, { .event_code = {0x49}, .umask = 0x01, .event_name = "dtlb_store_misses.miss_causes_a_walk", }, { .event_code = {0x49}, .umask = 0x02, .event_name = "dtlb_store_misses.walk_completed_4k", }, { .event_code = {0x49}, .umask = 0x04, .event_name = "dtlb_store_misses.walk_completed_2m_4m", }, { .event_code = {0x49}, .umask = 0x08, .event_name = "dtlb_store_misses.walk_completed_1g", }, { .event_code = {0x49}, .umask = 0x0E, .event_name = "dtlb_store_misses.walk_completed", }, { .event_code = {0x49}, .umask = 0x10, .event_name = "dtlb_store_misses.walk_pending", }, { .event_code = {0x49}, .umask = 0x20, .event_name = "dtlb_store_misses.stlb_hit", }, { .event_code = {0x4C}, .umask = 0x01, .event_name = "load_hit_pre.sw_pf", }, { .event_code = {0x4F}, .umask = 0x10, .event_name = "ept.walk_pending", }, { .event_code = {0x51}, .umask = 0x01, .event_name = "l1d.replacement", }, { .event_code = {0x54}, .umask = 0x01, .event_name = "tx_mem.abort_conflict", }, { .event_code = {0x54}, .umask = 0x02, .event_name = "tx_mem.abort_capacity", }, { .event_code = {0x54}, .umask = 0x04, .event_name = "tx_mem.abort_hle_store_to_elided_lock", }, { .event_code = {0x54}, .umask = 0x08, .event_name = "tx_mem.abort_hle_elision_buffer_not_empty", }, { .event_code = {0x54}, .umask = 0x10, .event_name = "tx_mem.abort_hle_elision_buffer_mismatch", }, { .event_code = {0x54}, .umask = 0x20, .event_name = "tx_mem.abort_hle_elision_buffer_unsupported_alignment", }, { .event_code = {0x54}, .umask = 0x40, .event_name = "tx_mem.hle_elision_buffer_full", }, { .event_code = {0x59}, .umask = 0x01, .event_name = "partial_rat_stalls.scoreboard", }, { .event_code = {0x5d}, .umask = 0x01, .event_name = "tx_exec.misc1", }, { .event_code = {0x5d}, .umask = 0x02, .event_name = "tx_exec.misc2", }, { .event_code = {0x5d}, .umask = 0x04, .event_name = "tx_exec.misc3", }, { .event_code = {0x5d}, .umask = 0x08, .event_name = "tx_exec.misc4", }, { .event_code = {0x5d}, .umask = 0x10, .event_name = "tx_exec.misc5", }, { .event_code = {0x5E}, .umask = 0x01, .event_name = "rs_events.empty_cycles", }, { .event_code = {0x5E}, .umask = 0x01, .event_name = "rs_events.empty_end", }, { .event_code = {0x60}, .umask = 0x01, .event_name = "offcore_requests_outstanding.demand_data_rd", }, { .event_code = {0x60}, .umask = 0x01, .event_name = "offcore_requests_outstanding.cycles_with_demand_data_rd", }, { .event_code = {0x60}, .umask = 0x02, .event_name = "offcore_requests_outstanding.demand_code_rd", }, { .event_code = {0x60}, .umask = 0x02, .event_name = "offcore_requests_outstanding.cycles_with_demand_code_rd", }, { .event_code = {0x60}, .umask = 0x04, .event_name = "offcore_requests_outstanding.demand_rfo", }, { .event_code = {0x60}, .umask = 0x04, .event_name = "offcore_requests_outstanding.cycles_with_demand_rfo", }, { .event_code = {0x60}, .umask = 0x08, .event_name = "offcore_requests_outstanding.all_data_rd", }, { .event_code = {0x60}, .umask = 0x08, .event_name = "offcore_requests_outstanding.cycles_with_data_rd", }, { .event_code = {0x60}, .umask = 0x10, .event_name = "offcore_requests_outstanding.l3_miss_demand_data_rd", }, { .event_code = {0x79}, .umask = 0x04, .event_name = "idq.mite_uops", }, { .event_code = {0x79}, .umask = 0x04, .event_name = "idq.mite_cycles", }, { .event_code = {0x79}, .umask = 0x08, .event_name = "idq.dsb_uops", }, { .event_code = {0x79}, .umask = 0x08, .event_name = "idq.dsb_cycles", }, { .event_code = {0x79}, .umask = 0x10, .event_name = "idq.ms_dsb_cycles", }, { .event_code = {0x79}, .umask = 0x18, .event_name = "idq.all_dsb_cycles_4_uops", }, { .event_code = {0x79}, .umask = 0x18, .event_name = "idq.all_dsb_cycles_any_uops", }, { .event_code = {0x79}, .umask = 0x20, .event_name = "idq.ms_mite_uops", }, { .event_code = {0x79}, .umask = 0x24, .event_name = "idq.all_mite_cycles_4_uops", }, { .event_code = {0x79}, .umask = 0x24, .event_name = "idq.all_mite_cycles_any_uops", }, { .event_code = {0x79}, .umask = 0x30, .event_name = "idq.ms_cycles", }, { .event_code = {0x79}, .umask = 0x30, .event_name = "idq.ms_switches", }, { .event_code = {0x79}, .umask = 0x30, .event_name = "idq.ms_uops", }, { .event_code = {0x80}, .umask = 0x04, .event_name = "icache_16b.ifdata_stall", }, { .event_code = {0x83}, .umask = 0x01, .event_name = "icache_64b.iftag_hit", }, { .event_code = {0x83}, .umask = 0x02, .event_name = "icache_64b.iftag_miss", }, { .event_code = {0x83}, .umask = 0x04, .event_name = "icache_64b.iftag_stall", }, { .event_code = {0x85}, .umask = 0x01, .event_name = "itlb_misses.miss_causes_a_walk", }, { .event_code = {0x85}, .umask = 0x02, .event_name = "itlb_misses.walk_completed_4k", }, { .event_code = {0x85}, .umask = 0x04, .event_name = "itlb_misses.walk_completed_2m_4m", }, { .event_code = {0x85}, .umask = 0x08, .event_name = "itlb_misses.walk_completed_1g", }, { .event_code = {0x85}, .umask = 0x0E, .event_name = "itlb_misses.walk_completed", }, { .event_code = {0x85}, .umask = 0x10, .event_name = "itlb_misses.walk_pending", }, { .event_code = {0x85}, .umask = 0x10, .event_name = "itlb_misses.walk_active", }, { .event_code = {0x85}, .umask = 0x20, .event_name = "itlb_misses.stlb_hit", }, { .event_code = {0x87}, .umask = 0x01, .event_name = "ild_stall.lcp", }, { .event_code = {0x9C}, .umask = 0x01, .event_name = "idq_uops_not_delivered.core", }, {
exec trace add vhost-user-input 100
0x20, .event_name = "rtm_retired.aborted_unfriendly", }, { .event_code = {0xC9}, .umask = 0x40, .event_name = "rtm_retired.aborted_memtype", }, { .event_code = {0xC9}, .umask = 0x80, .event_name = "rtm_retired.aborted_events", }, { .event_code = {0xCA}, .umask = 0x1E, .event_name = "fp_assist.any", }, { .event_code = {0xCB}, .umask = 0x01, .event_name = "hw_interrupts.received", }, { .event_code = {0xCC}, .umask = 0x20, .event_name = "rob_misc_events.lbr_inserts", }, { .event_code = {0xCC}, .umask = 0x40, .event_name = "rob_misc_events.pause_inst", }, { .event_code = {0xD0}, .umask = 0x11, .event_name = "mem_inst_retired.stlb_miss_loads", }, { .event_code = {0xD0}, .umask = 0x12, .event_name = "mem_inst_retired.stlb_miss_stores", }, { .event_code = {0xD0}, .umask = 0x21, .event_name = "mem_inst_retired.lock_loads", }, { .event_code = {0xD0}, .umask = 0x41, .event_name = "mem_inst_retired.split_loads", }, { .event_code = {0xD0}, .umask = 0x42, .event_name = "mem_inst_retired.split_stores", }, { .event_code = {0xD0}, .umask = 0x81, .event_name = "mem_inst_retired.all_loads", }, { .event_code = {0xD0}, .umask = 0x82, .event_name = "mem_inst_retired.all_stores", }, { .event_code = {0xD1}, .umask = 0x01, .event_name = "mem_load_retired.l1_hit", }, { .event_code = {0xD1}, .umask = 0x02, .event_name = "mem_load_retired.l2_hit", }, { .event_code = {0xD1}, .umask = 0x04, .event_name = "mem_load_retired.l3_hit", }, { .event_code = {0xD1}, .umask = 0x08, .event_name = "mem_load_retired.l1_miss", }, { .event_code = {0xD1}, .umask = 0x10, .event_name = "mem_load_retired.l2_miss", }, { .event_code = {0xD1}, .umask = 0x20, .event_name = "mem_load_retired.l3_miss", }, { .event_code = {0xD1}, .umask = 0x40, .event_name = "mem_load_retired.fb_hit", }, { .event_code = {0xD2}, .umask = 0x01, .event_name = "mem_load_l3_hit_retired.xsnp_miss", }, { .event_code = {0xD2}, .umask = 0x02, .event_name = "mem_load_l3_hit_retired.xsnp_hit", }, { .event_code = {0xD2}, .umask = 0x04, .event_name = "mem_load_l3_hit_retired.xsnp_hitm", }, { .event_code = {0xD2}, .umask = 0x08, .event_name = "mem_load_l3_hit_retired.xsnp_none", }, { .event_code = {0xD4}, .umask = 0x04, .event_name = "mem_load_misc_retired.uc", }, { .event_code = {0xE6}, .umask = 0x01, .event_name = "baclears.any", }, { .event_code = {0xF0}, .umask = 0x40, .event_name = "l2_trans.l2_wb", }, { .event_code = {0xF1}, .umask = 0x1F, .event_name = "l2_lines_in.all", }, { .event_code = {0xF2}, .umask = 0x01, .event_name = "l2_lines_out.silent", }, { .event_code = {0xF2}, .umask = 0x02, .event_name = "l2_lines_out.non_silent", }, { .event_code = {0xF2}, .umask = 0x04, .event_name = "l2_lines_out.useless_pref", }, { .event_code = {0xF2}, .umask = 0x04, .event_name = "l2_lines_out.useless_hwpf", }, { .event_code = {0xF4}, .umask = 0x10, .event_name = "sq_misc.split_lock", }, { .event_name = 0, }, }; PERFMON_REGISTER_INTEL_PMC (cpu_model_table, event_table);