cpu_hw_eventsRegular
4.4: ✅struct cpu_hw_events {
struct perf_event * events[64];
long unsigned int active_mask[1];
long unsigned int running[1];
int enabled;
int n_events;
int n_added;
int n_txn;
int assign[64];
u64 tags[64];
struct perf_event * event_list[64];
struct event_constraint * event_constraint[64];
int n_excl;
unsigned int txn_flags;
int is_fake;
struct debug_store *ds;
u64 pebs_enabled;
int lbr_users;
void *lbr_context;
struct perf_branch_stack lbr_stack;
struct perf_branch_entry lbr_entries[32];
struct er_account *lbr_sel;
u64 br_sel;
u64 intel_ctrl_guest_mask;
u64 intel_ctrl_host_mask;
struct perf_guest_switch_msr guest_switch_msrs[64];
u64 intel_cp_status;
struct intel_shared_regs *shared_regs;
struct event_constraint *constraint_list;
struct intel_excl_cntrs *excl_cntrs;
int excl_thread_id;
struct amd_nb *amd_nb;
u64 perf_ctr_virt_mask;
void * kfree_on_online[2];
};
4.8: ✅struct cpu_hw_events {
struct perf_event * events[64];
long unsigned int active_mask[1];
long unsigned int running[1];
int enabled;
int n_events;
int n_added;
int n_txn;
int assign[64];
u64 tags[64];
struct perf_event * event_list[64];
struct event_constraint * event_constraint[64];
int n_excl;
unsigned int txn_flags;
int is_fake;
struct debug_store *ds;
u64 pebs_enabled;
int lbr_users;
void *lbr_context;
struct perf_branch_stack lbr_stack;
struct perf_branch_entry lbr_entries[32];
struct er_account *lbr_sel;
u64 br_sel;
u64 intel_ctrl_guest_mask;
u64 intel_ctrl_host_mask;
struct perf_guest_switch_msr guest_switch_msrs[64];
u64 intel_cp_status;
struct intel_shared_regs *shared_regs;
struct event_constraint *constraint_list;
struct intel_excl_cntrs *excl_cntrs;
int excl_thread_id;
struct amd_nb *amd_nb;
u64 perf_ctr_virt_mask;
void * kfree_on_online[2];
};
4.10: ✅struct cpu_hw_events {
struct perf_event * events[64];
long unsigned int active_mask[1];
long unsigned int running[1];
int enabled;
int n_events;
int n_added;
int n_txn;
int assign[64];
u64 tags[64];
struct perf_event * event_list[64];
struct event_constraint * event_constraint[64];
int n_excl;
unsigned int txn_flags;
int is_fake;
struct debug_store *ds;
u64 pebs_enabled;
int n_pebs;
int n_large_pebs;
int lbr_users;
struct perf_branch_stack lbr_stack;
struct perf_branch_entry lbr_entries[32];
struct er_account *lbr_sel;
u64 br_sel;
u64 intel_ctrl_guest_mask;
u64 intel_ctrl_host_mask;
struct perf_guest_switch_msr guest_switch_msrs[64];
u64 intel_cp_status;
struct intel_shared_regs *shared_regs;
struct event_constraint *constraint_list;
struct intel_excl_cntrs *excl_cntrs;
int excl_thread_id;
struct amd_nb *amd_nb;
u64 perf_ctr_virt_mask;
void * kfree_on_online[2];
};
4.13: ✅struct cpu_hw_events {
struct perf_event * events[64];
long unsigned int active_mask[1];
long unsigned int running[1];
int enabled;
int n_events;
int n_added;
int n_txn;
int assign[64];
u64 tags[64];
struct perf_event * event_list[64];
struct event_constraint * event_constraint[64];
int n_excl;
unsigned int txn_flags;
int is_fake;
struct debug_store *ds;
u64 pebs_enabled;
int n_pebs;
int n_large_pebs;
int lbr_users;
struct perf_branch_stack lbr_stack;
struct perf_branch_entry lbr_entries[32];
struct er_account *lbr_sel;
u64 br_sel;
u64 intel_ctrl_guest_mask;
u64 intel_ctrl_host_mask;
struct perf_guest_switch_msr guest_switch_msrs[64];
u64 intel_cp_status;
struct intel_shared_regs *shared_regs;
struct event_constraint *constraint_list;
struct intel_excl_cntrs *excl_cntrs;
int excl_thread_id;
struct amd_nb *amd_nb;
u64 perf_ctr_virt_mask;
void * kfree_on_online[2];
};
4.15: ✅struct cpu_hw_events {
struct perf_event * events[64];
long unsigned int active_mask[1];
long unsigned int running[1];
int enabled;
int n_events;
int n_added;
int n_txn;
int assign[64];
u64 tags[64];
struct perf_event * event_list[64];
struct event_constraint * event_constraint[64];
int n_excl;
unsigned int txn_flags;
int is_fake;
struct debug_store *ds;
void *ds_pebs_vaddr;
void *ds_bts_vaddr;
u64 pebs_enabled;
int n_pebs;
int n_large_pebs;
int lbr_users;
struct perf_branch_stack lbr_stack;
struct perf_branch_entry lbr_entries[32];
struct er_account *lbr_sel;
u64 br_sel;
u64 intel_ctrl_guest_mask;
u64 intel_ctrl_host_mask;
struct perf_guest_switch_msr guest_switch_msrs[64];
u64 intel_cp_status;
struct intel_shared_regs *shared_regs;
struct event_constraint *constraint_list;
struct intel_excl_cntrs *excl_cntrs;
int excl_thread_id;
struct amd_nb *amd_nb;
u64 perf_ctr_virt_mask;
void * kfree_on_online[2];
};
4.18: ✅struct cpu_hw_events {
struct perf_event * events[64];
long unsigned int active_mask[1];
long unsigned int running[1];
int enabled;
int n_events;
int n_added;
int n_txn;
int assign[64];
u64 tags[64];
struct perf_event * event_list[64];
struct event_constraint * event_constraint[64];
int n_excl;
unsigned int txn_flags;
int is_fake;
struct debug_store *ds;
void *ds_pebs_vaddr;
void *ds_bts_vaddr;
u64 pebs_enabled;
int n_pebs;
int n_large_pebs;
int lbr_users;
struct perf_branch_stack lbr_stack;
struct perf_branch_entry lbr_entries[32];
struct er_account *lbr_sel;
u64 br_sel;
u64 intel_ctrl_guest_mask;
u64 intel_ctrl_host_mask;
struct perf_guest_switch_msr guest_switch_msrs[64];
u64 intel_cp_status;
struct intel_shared_regs *shared_regs;
struct event_constraint *constraint_list;
struct intel_excl_cntrs *excl_cntrs;
int excl_thread_id;
struct amd_nb *amd_nb;
u64 perf_ctr_virt_mask;
void * kfree_on_online[2];
};
5.0: ✅struct cpu_hw_events {
struct perf_event * events[64];
long unsigned int active_mask[1];
long unsigned int running[1];
int enabled;
int n_events;
int n_added;
int n_txn;
int assign[64];
u64 tags[64];
struct perf_event * event_list[64];
struct event_constraint * event_constraint[64];
int n_excl;
unsigned int txn_flags;
int is_fake;
struct debug_store *ds;
void *ds_pebs_vaddr;
void *ds_bts_vaddr;
u64 pebs_enabled;
int n_pebs;
int n_large_pebs;
int lbr_users;
struct perf_branch_stack lbr_stack;
struct perf_branch_entry lbr_entries[32];
struct er_account *lbr_sel;
u64 br_sel;
struct x86_perf_task_context *last_task_ctx;
int last_log_id;
u64 intel_ctrl_guest_mask;
u64 intel_ctrl_host_mask;
struct perf_guest_switch_msr guest_switch_msrs[64];
u64 intel_cp_status;
struct intel_shared_regs *shared_regs;
struct event_constraint *constraint_list;
struct intel_excl_cntrs *excl_cntrs;
int excl_thread_id;
u64 tfa_shadow;
struct amd_nb *amd_nb;
u64 perf_ctr_virt_mask;
void * kfree_on_online[2];
};
5.3: ✅struct cpu_hw_events {
struct perf_event * events[64];
long unsigned int active_mask[1];
long unsigned int running[1];
int enabled;
int n_events;
int n_added;
int n_txn;
int assign[64];
u64 tags[64];
struct perf_event * event_list[64];
struct event_constraint * event_constraint[64];
int n_excl;
unsigned int txn_flags;
int is_fake;
struct debug_store *ds;
void *ds_pebs_vaddr;
void *ds_bts_vaddr;
u64 pebs_enabled;
int n_pebs;
int n_large_pebs;
u64 pebs_data_cfg;
u64 active_pebs_data_cfg;
int pebs_record_size;
int lbr_users;
int lbr_pebs_users;
struct perf_branch_stack lbr_stack;
struct perf_branch_entry lbr_entries[32];
struct er_account *lbr_sel;
u64 br_sel;
struct x86_perf_task_context *last_task_ctx;
int last_log_id;
u64 intel_ctrl_guest_mask;
u64 intel_ctrl_host_mask;
struct perf_guest_switch_msr guest_switch_msrs[64];
u64 intel_cp_status;
struct intel_shared_regs *shared_regs;
struct event_constraint *constraint_list;
struct intel_excl_cntrs *excl_cntrs;
int excl_thread_id;
u64 tfa_shadow;
struct amd_nb *amd_nb;
u64 perf_ctr_virt_mask;
void * kfree_on_online[2];
};
5.4: ✅struct cpu_hw_events {
struct perf_event * events[64];
long unsigned int active_mask[1];
long unsigned int running[1];
int enabled;
int n_events;
int n_added;
int n_txn;
int assign[64];
u64 tags[64];
struct perf_event * event_list[64];
struct event_constraint * event_constraint[64];
int n_excl;
unsigned int txn_flags;
int is_fake;
struct debug_store *ds;
void *ds_pebs_vaddr;
void *ds_bts_vaddr;
u64 pebs_enabled;
int n_pebs;
int n_large_pebs;
int n_pebs_via_pt;
int pebs_output;
u64 pebs_data_cfg;
u64 active_pebs_data_cfg;
int pebs_record_size;
int lbr_users;
int lbr_pebs_users;
struct perf_branch_stack lbr_stack;
struct perf_branch_entry lbr_entries[32];
struct er_account *lbr_sel;
u64 br_sel;
struct x86_perf_task_context *last_task_ctx;
int last_log_id;
u64 intel_ctrl_guest_mask;
u64 intel_ctrl_host_mask;
struct perf_guest_switch_msr guest_switch_msrs[64];
u64 intel_cp_status;
struct intel_shared_regs *shared_regs;
struct event_constraint *constraint_list;
struct intel_excl_cntrs *excl_cntrs;
int excl_thread_id;
u64 tfa_shadow;
struct amd_nb *amd_nb;
u64 perf_ctr_virt_mask;
int n_pair;
void * kfree_on_online[2];
};
5.8: ✅struct cpu_hw_events {
struct perf_event * events[64];
long unsigned int active_mask[1];
long unsigned int running[1];
int enabled;
int n_events;
int n_added;
int n_txn;
int assign[64];
u64 tags[64];
struct perf_event * event_list[64];
struct event_constraint * event_constraint[64];
int n_excl;
unsigned int txn_flags;
int is_fake;
struct debug_store *ds;
void *ds_pebs_vaddr;
void *ds_bts_vaddr;
u64 pebs_enabled;
int n_pebs;
int n_large_pebs;
int n_pebs_via_pt;
int pebs_output;
u64 pebs_data_cfg;
u64 active_pebs_data_cfg;
int pebs_record_size;
int lbr_users;
int lbr_pebs_users;
struct perf_branch_stack lbr_stack;
struct perf_branch_entry lbr_entries[32];
struct er_account *lbr_sel;
u64 br_sel;
struct x86_perf_task_context *last_task_ctx;
int last_log_id;
u64 intel_ctrl_guest_mask;
u64 intel_ctrl_host_mask;
struct perf_guest_switch_msr guest_switch_msrs[64];
u64 intel_cp_status;
struct intel_shared_regs *shared_regs;
struct event_constraint *constraint_list;
struct intel_excl_cntrs *excl_cntrs;
int excl_thread_id;
u64 tfa_shadow;
struct amd_nb *amd_nb;
u64 perf_ctr_virt_mask;
int n_pair;
void * kfree_on_online[2];
};
5.11: ✅struct cpu_hw_events {
struct perf_event * events[64];
long unsigned int active_mask[1];
long unsigned int running[1];
int enabled;
int n_events;
int n_added;
int n_txn;
int n_txn_pair;
int n_txn_metric;
int assign[64];
u64 tags[64];
struct perf_event * event_list[64];
struct event_constraint * event_constraint[64];
int n_excl;
unsigned int txn_flags;
int is_fake;
struct debug_store *ds;
void *ds_pebs_vaddr;
void *ds_bts_vaddr;
u64 pebs_enabled;
int n_pebs;
int n_large_pebs;
int n_pebs_via_pt;
int pebs_output;
u64 pebs_data_cfg;
u64 active_pebs_data_cfg;
int pebs_record_size;
int lbr_users;
int lbr_pebs_users;
struct perf_branch_stack lbr_stack;
struct perf_branch_entry lbr_entries[32];
struct er_account *lbr_sel;
struct er_account *lbr_ctl;
u64 br_sel;
void *last_task_ctx;
int last_log_id;
int lbr_select;
void *lbr_xsave;
u64 intel_ctrl_guest_mask;
u64 intel_ctrl_host_mask;
struct perf_guest_switch_msr guest_switch_msrs[64];
u64 intel_cp_status;
struct intel_shared_regs *shared_regs;
struct event_constraint *constraint_list;
struct intel_excl_cntrs *excl_cntrs;
int excl_thread_id;
u64 tfa_shadow;
int n_metric;
struct amd_nb *amd_nb;
u64 perf_ctr_virt_mask;
int n_pair;
void * kfree_on_online[2];
};
5.13: ✅struct cpu_hw_events {
struct perf_event * events[64];
long unsigned int active_mask[1];
long unsigned int dirty[1];
int enabled;
int n_events;
int n_added;
int n_txn;
int n_txn_pair;
int n_txn_metric;
int assign[64];
u64 tags[64];
struct perf_event * event_list[64];
struct event_constraint * event_constraint[64];
int n_excl;
unsigned int txn_flags;
int is_fake;
struct debug_store *ds;
void *ds_pebs_vaddr;
void *ds_bts_vaddr;
u64 pebs_enabled;
int n_pebs;
int n_large_pebs;
int n_pebs_via_pt;
int pebs_output;
u64 pebs_data_cfg;
u64 active_pebs_data_cfg;
int pebs_record_size;
int lbr_users;
int lbr_pebs_users;
struct perf_branch_stack lbr_stack;
struct perf_branch_entry lbr_entries[32];
struct er_account *lbr_sel;
struct er_account *lbr_ctl;
u64 br_sel;
void *last_task_ctx;
int last_log_id;
int lbr_select;
void *lbr_xsave;
u64 intel_ctrl_guest_mask;
u64 intel_ctrl_host_mask;
struct perf_guest_switch_msr guest_switch_msrs[64];
u64 intel_cp_status;
struct intel_shared_regs *shared_regs;
struct event_constraint *constraint_list;
struct intel_excl_cntrs *excl_cntrs;
int excl_thread_id;
u64 tfa_shadow;
int n_metric;
struct amd_nb *amd_nb;
u64 perf_ctr_virt_mask;
int n_pair;
void * kfree_on_online[2];
struct pmu *pmu;
};
5.15: ✅struct cpu_hw_events {
struct perf_event * events[64];
long unsigned int active_mask[1];
long unsigned int dirty[1];
int enabled;
int n_events;
int n_added;
int n_txn;
int n_txn_pair;
int n_txn_metric;
int assign[64];
u64 tags[64];
struct perf_event * event_list[64];
struct event_constraint * event_constraint[64];
int n_excl;
unsigned int txn_flags;
int is_fake;
struct debug_store *ds;
void *ds_pebs_vaddr;
void *ds_bts_vaddr;
u64 pebs_enabled;
int n_pebs;
int n_large_pebs;
int n_pebs_via_pt;
int pebs_output;
u64 pebs_data_cfg;
u64 active_pebs_data_cfg;
int pebs_record_size;
int lbr_users;
int lbr_pebs_users;
struct perf_branch_stack lbr_stack;
struct perf_branch_entry lbr_entries[32];
struct er_account *lbr_sel;
struct er_account *lbr_ctl;
u64 br_sel;
void *last_task_ctx;
int last_log_id;
int lbr_select;
void *lbr_xsave;
u64 intel_ctrl_guest_mask;
u64 intel_ctrl_host_mask;
struct perf_guest_switch_msr guest_switch_msrs[64];
u64 intel_cp_status;
struct intel_shared_regs *shared_regs;
struct event_constraint *constraint_list;
struct intel_excl_cntrs *excl_cntrs;
int excl_thread_id;
u64 tfa_shadow;
int n_metric;
struct amd_nb *amd_nb;
u64 perf_ctr_virt_mask;
int n_pair;
void * kfree_on_online[2];
struct pmu *pmu;
};
5.19: ✅struct cpu_hw_events {
struct perf_event * events[64];
long unsigned int active_mask[1];
long unsigned int dirty[1];
int enabled;
int n_events;
int n_added;
int n_txn;
int n_txn_pair;
int n_txn_metric;
int assign[64];
u64 tags[64];
struct perf_event * event_list[64];
struct event_constraint * event_constraint[64];
int n_excl;
unsigned int txn_flags;
int is_fake;
struct debug_store *ds;
void *ds_pebs_vaddr;
void *ds_bts_vaddr;
u64 pebs_enabled;
int n_pebs;
int n_large_pebs;
int n_pebs_via_pt;
int pebs_output;
u64 pebs_data_cfg;
u64 active_pebs_data_cfg;
int pebs_record_size;
int lbr_users;
int lbr_pebs_users;
struct perf_branch_stack lbr_stack;
struct perf_branch_entry lbr_entries[32];
struct er_account *lbr_sel;
struct er_account *lbr_ctl;
u64 br_sel;
void *last_task_ctx;
int last_log_id;
int lbr_select;
void *lbr_xsave;
u64 intel_ctrl_guest_mask;
u64 intel_ctrl_host_mask;
struct perf_guest_switch_msr guest_switch_msrs[64];
u64 intel_cp_status;
struct intel_shared_regs *shared_regs;
struct event_constraint *constraint_list;
struct intel_excl_cntrs *excl_cntrs;
int excl_thread_id;
u64 tfa_shadow;
int n_metric;
struct amd_nb *amd_nb;
int brs_active;
u64 perf_ctr_virt_mask;
int n_pair;
void * kfree_on_online[2];
struct pmu *pmu;
};
6.2: ✅struct cpu_hw_events {
struct perf_event * events[64];
long unsigned int active_mask[1];
long unsigned int dirty[1];
int enabled;
int n_events;
int n_added;
int n_txn;
int n_txn_pair;
int n_txn_metric;
int assign[64];
u64 tags[64];
struct perf_event * event_list[64];
struct event_constraint * event_constraint[64];
int n_excl;
unsigned int txn_flags;
int is_fake;
struct debug_store *ds;
void *ds_pebs_vaddr;
void *ds_bts_vaddr;
u64 pebs_enabled;
int n_pebs;
int n_large_pebs;
int n_pebs_via_pt;
int pebs_output;
u64 pebs_data_cfg;
u64 active_pebs_data_cfg;
int pebs_record_size;
u64 fixed_ctrl_val;
u64 active_fixed_ctrl_val;
int lbr_users;
int lbr_pebs_users;
struct perf_branch_stack lbr_stack;
struct perf_branch_entry lbr_entries[32];
struct er_account *lbr_sel;
struct er_account *lbr_ctl;
u64 br_sel;
void *last_task_ctx;
int last_log_id;
int lbr_select;
void *lbr_xsave;
u64 intel_ctrl_guest_mask;
u64 intel_ctrl_host_mask;
struct perf_guest_switch_msr guest_switch_msrs[64];
u64 intel_cp_status;
struct intel_shared_regs *shared_regs;
struct event_constraint *constraint_list;
struct intel_excl_cntrs *excl_cntrs;
int excl_thread_id;
u64 tfa_shadow;
int n_metric;
struct amd_nb *amd_nb;
int brs_active;
u64 perf_ctr_virt_mask;
int n_pair;
void * kfree_on_online[2];
struct pmu *pmu;
};
6.5: ✅struct cpu_hw_events {
struct perf_event * events[64];
long unsigned int active_mask[1];
long unsigned int dirty[1];
int enabled;
int n_events;
int n_added;
int n_txn;
int n_txn_pair;
int n_txn_metric;
int assign[64];
u64 tags[64];
struct perf_event * event_list[64];
struct event_constraint * event_constraint[64];
int n_excl;
unsigned int txn_flags;
int is_fake;
struct debug_store *ds;
void *ds_pebs_vaddr;
void *ds_bts_vaddr;
u64 pebs_enabled;
int n_pebs;
int n_large_pebs;
int n_pebs_via_pt;
int pebs_output;
u64 pebs_data_cfg;
u64 active_pebs_data_cfg;
int pebs_record_size;
u64 fixed_ctrl_val;
u64 active_fixed_ctrl_val;
int lbr_users;
int lbr_pebs_users;
struct perf_branch_stack lbr_stack;
struct perf_branch_entry lbr_entries[32];
struct er_account *lbr_sel;
struct er_account *lbr_ctl;
u64 br_sel;
void *last_task_ctx;
int last_log_id;
int lbr_select;
void *lbr_xsave;
u64 intel_ctrl_guest_mask;
u64 intel_ctrl_host_mask;
struct perf_guest_switch_msr guest_switch_msrs[64];
u64 intel_cp_status;
struct intel_shared_regs *shared_regs;
struct event_constraint *constraint_list;
struct intel_excl_cntrs *excl_cntrs;
int excl_thread_id;
u64 tfa_shadow;
int n_metric;
struct amd_nb *amd_nb;
int brs_active;
u64 perf_ctr_virt_mask;
int n_pair;
void * kfree_on_online[2];
struct pmu *pmu;
};
6.8: ✅struct cpu_hw_events {
struct perf_event * events[64];
long unsigned int active_mask[1];
long unsigned int dirty[1];
int enabled;
int n_events;
int n_added;
int n_txn;
int n_txn_pair;
int n_txn_metric;
int assign[64];
u64 tags[64];
struct perf_event * event_list[64];
struct event_constraint * event_constraint[64];
int n_excl;
unsigned int txn_flags;
int is_fake;
struct debug_store *ds;
void *ds_pebs_vaddr;
void *ds_bts_vaddr;
u64 pebs_enabled;
int n_pebs;
int n_large_pebs;
int n_pebs_via_pt;
int pebs_output;
u64 pebs_data_cfg;
u64 active_pebs_data_cfg;
int pebs_record_size;
u64 fixed_ctrl_val;
u64 active_fixed_ctrl_val;
int lbr_users;
int lbr_pebs_users;
struct perf_branch_stack lbr_stack;
struct perf_branch_entry lbr_entries[32];
u64 lbr_counters[32];
struct er_account *lbr_sel;
struct er_account *lbr_ctl;
u64 br_sel;
void *last_task_ctx;
int last_log_id;
int lbr_select;
void *lbr_xsave;
u64 intel_ctrl_guest_mask;
u64 intel_ctrl_host_mask;
struct perf_guest_switch_msr guest_switch_msrs[64];
u64 intel_cp_status;
struct intel_shared_regs *shared_regs;
struct event_constraint *constraint_list;
struct intel_excl_cntrs *excl_cntrs;
int excl_thread_id;
u64 tfa_shadow;
int n_metric;
struct amd_nb *amd_nb;
int brs_active;
u64 perf_ctr_virt_mask;
int n_pair;
void * kfree_on_online[2];
struct pmu *pmu;
};
arm64: Absent ⚠️
armhf: Absent ⚠️
ppc64el: ✅struct cpu_hw_events {
int n_events;
int n_percpu;
int disabled;
int n_added;
int n_limited;
u8 pmcs_enabled;
struct perf_event * event[8];
u64 events[8];
unsigned int flags[8];
long unsigned int mmcr[4];
struct perf_event * limited_counter[2];
u8 limited_hwidx[2];
u64 alternatives[64];
long unsigned int amasks[64];
long unsigned int avalues[64];
unsigned int txn_flags;
int n_txn_start;
u64 bhrb_filter;
unsigned int bhrb_users;
void *bhrb_context;
struct perf_branch_stack bhrb_stack;
struct perf_branch_entry bhrb_entries[32];
u64 ic_init;
};
riscv64: ✅struct cpu_hw_events {
int n_events;
struct perf_event * events[2];
void *platform;
};
aws: ✅struct cpu_hw_events {
struct perf_event * events[64];
long unsigned int active_mask[1];
long unsigned int running[1];
int enabled;
int n_events;
int n_added;
int n_txn;
int assign[64];
u64 tags[64];
struct perf_event * event_list[64];
struct event_constraint * event_constraint[64];
int n_excl;
unsigned int txn_flags;
int is_fake;
struct debug_store *ds;
void *ds_pebs_vaddr;
void *ds_bts_vaddr;
u64 pebs_enabled;
int n_pebs;
int n_large_pebs;
int n_pebs_via_pt;
int pebs_output;
u64 pebs_data_cfg;
u64 active_pebs_data_cfg;
int pebs_record_size;
int lbr_users;
int lbr_pebs_users;
struct perf_branch_stack lbr_stack;
struct perf_branch_entry lbr_entries[32];
struct er_account *lbr_sel;
u64 br_sel;
struct x86_perf_task_context *last_task_ctx;
int last_log_id;
u64 intel_ctrl_guest_mask;
u64 intel_ctrl_host_mask;
struct perf_guest_switch_msr guest_switch_msrs[64];
u64 intel_cp_status;
struct intel_shared_regs *shared_regs;
struct event_constraint *constraint_list;
struct intel_excl_cntrs *excl_cntrs;
int excl_thread_id;
u64 tfa_shadow;
struct amd_nb *amd_nb;
u64 perf_ctr_virt_mask;
int n_pair;
void * kfree_on_online[2];
};
azure: ✅struct cpu_hw_events {
struct perf_event * events[64];
long unsigned int active_mask[1];
long unsigned int running[1];
int enabled;
int n_events;
int n_added;
int n_txn;
int assign[64];
u64 tags[64];
struct perf_event * event_list[64];
struct event_constraint * event_constraint[64];
int n_excl;
unsigned int txn_flags;
int is_fake;
struct debug_store *ds;
void *ds_pebs_vaddr;
void *ds_bts_vaddr;
u64 pebs_enabled;
int n_pebs;
int n_large_pebs;
int n_pebs_via_pt;
int pebs_output;
u64 pebs_data_cfg;
u64 active_pebs_data_cfg;
int pebs_record_size;
int lbr_users;
int lbr_pebs_users;
struct perf_branch_stack lbr_stack;
struct perf_branch_entry lbr_entries[32];
struct er_account *lbr_sel;
u64 br_sel;
struct x86_perf_task_context *last_task_ctx;
int last_log_id;
u64 intel_ctrl_guest_mask;
u64 intel_ctrl_host_mask;
struct perf_guest_switch_msr guest_switch_msrs[64];
u64 intel_cp_status;
struct intel_shared_regs *shared_regs;
struct event_constraint *constraint_list;
struct intel_excl_cntrs *excl_cntrs;
int excl_thread_id;
u64 tfa_shadow;
struct amd_nb *amd_nb;
u64 perf_ctr_virt_mask;
int n_pair;
void * kfree_on_online[2];
};
gcp: ✅struct cpu_hw_events {
struct perf_event * events[64];
long unsigned int active_mask[1];
long unsigned int running[1];
int enabled;
int n_events;
int n_added;
int n_txn;
int assign[64];
u64 tags[64];
struct perf_event * event_list[64];
struct event_constraint * event_constraint[64];
int n_excl;
unsigned int txn_flags;
int is_fake;
struct debug_store *ds;
void *ds_pebs_vaddr;
void *ds_bts_vaddr;
u64 pebs_enabled;
int n_pebs;
int n_large_pebs;
int n_pebs_via_pt;
int pebs_output;
u64 pebs_data_cfg;
u64 active_pebs_data_cfg;
int pebs_record_size;
int lbr_users;
int lbr_pebs_users;
struct perf_branch_stack lbr_stack;
struct perf_branch_entry lbr_entries[32];
struct er_account *lbr_sel;
u64 br_sel;
struct x86_perf_task_context *last_task_ctx;
int last_log_id;
u64 intel_ctrl_guest_mask;
u64 intel_ctrl_host_mask;
struct perf_guest_switch_msr guest_switch_msrs[64];
u64 intel_cp_status;
struct intel_shared_regs *shared_regs;
struct event_constraint *constraint_list;
struct intel_excl_cntrs *excl_cntrs;
int excl_thread_id;
u64 tfa_shadow;
struct amd_nb *amd_nb;
u64 perf_ctr_virt_mask;
int n_pair;
void * kfree_on_online[2];
};
lowlatency: ✅struct cpu_hw_events {
struct perf_event * events[64];
long unsigned int active_mask[1];
long unsigned int running[1];
int enabled;
int n_events;
int n_added;
int n_txn;
int assign[64];
u64 tags[64];
struct perf_event * event_list[64];
struct event_constraint * event_constraint[64];
int n_excl;
unsigned int txn_flags;
int is_fake;
struct debug_store *ds;
void *ds_pebs_vaddr;
void *ds_bts_vaddr;
u64 pebs_enabled;
int n_pebs;
int n_large_pebs;
int n_pebs_via_pt;
int pebs_output;
u64 pebs_data_cfg;
u64 active_pebs_data_cfg;
int pebs_record_size;
int lbr_users;
int lbr_pebs_users;
struct perf_branch_stack lbr_stack;
struct perf_branch_entry lbr_entries[32];
struct er_account *lbr_sel;
u64 br_sel;
struct x86_perf_task_context *last_task_ctx;
int last_log_id;
u64 intel_ctrl_guest_mask;
u64 intel_ctrl_host_mask;
struct perf_guest_switch_msr guest_switch_msrs[64];
u64 intel_cp_status;
struct intel_shared_regs *shared_regs;
struct event_constraint *constraint_list;
struct intel_excl_cntrs *excl_cntrs;
int excl_thread_id;
u64 tfa_shadow;
struct amd_nb *amd_nb;
u64 perf_ctr_virt_mask;
int n_pair;
void * kfree_on_online[2];
};
Regular
4.4 and 4.8 ✅
4.8 and 4.10 ⚠️int n_pebs
int n_large_pebs
void *lbr_context
4.10 and 4.13 ✅
4.13 and 4.15 ⚠️void *ds_pebs_vaddr
void *ds_bts_vaddr
4.15 and 4.18 ✅
4.18 and 5.0 ⚠️struct x86_perf_task_context *last_task_ctx
int last_log_id
u64 tfa_shadow
5.0 and 5.3 ⚠️u64 pebs_data_cfg
u64 active_pebs_data_cfg
int pebs_record_size
int lbr_pebs_users
5.3 and 5.4 ⚠️int n_pebs_via_pt
int pebs_output
int n_pair
5.4 and 5.8 ✅
5.8 and 5.11 ⚠️int n_txn_pair
int n_txn_metric
struct er_account *lbr_ctl
int lbr_select
void *lbr_xsave
int n_metric
struct x86_perf_task_context *last_task_ctx ➡️ void *last_task_ctx
5.11 and 5.13 ⚠️long unsigned int dirty[1]
struct pmu *pmu
long unsigned int running[1]
5.13 and 5.15 ✅
5.15 and 5.19 ⚠️int brs_active
5.19 and 6.2 ⚠️u64 fixed_ctrl_val
u64 active_fixed_ctrl_val
6.2 and 6.5 ✅
6.5 and 6.8 ⚠️u64 lbr_counters[32]
amd64 and ppc64el ⚠️int n_percpu
int disabled
int n_limited
u8 pmcs_enabled
struct perf_event * event[8]
unsigned int flags[8]
long unsigned int mmcr[4]
struct perf_event * limited_counter[2]
u8 limited_hwidx[2]
u64 alternatives[64]
long unsigned int amasks[64]
long unsigned int avalues[64]
int n_txn_start
u64 bhrb_filter
unsigned int bhrb_users
void *bhrb_context
struct perf_branch_stack bhrb_stack
struct perf_branch_entry bhrb_entries[32]
u64 ic_init
long unsigned int active_mask[1]
long unsigned int running[1]
int enabled
int n_txn
int assign[64]
u64 tags[64]
struct perf_event * event_list[64]
struct event_constraint * event_constraint[64]
int n_excl
int is_fake
struct debug_store *ds
void *ds_pebs_vaddr
void *ds_bts_vaddr
u64 pebs_enabled
int n_pebs
int n_large_pebs
int n_pebs_via_pt
int pebs_output
u64 pebs_data_cfg
u64 active_pebs_data_cfg
int pebs_record_size
int lbr_users
int lbr_pebs_users
struct perf_branch_stack lbr_stack
struct perf_branch_entry lbr_entries[32]
struct er_account *lbr_sel
u64 br_sel
struct x86_perf_task_context *last_task_ctx
int last_log_id
u64 intel_ctrl_guest_mask
u64 intel_ctrl_host_mask
struct perf_guest_switch_msr guest_switch_msrs[64]
u64 intel_cp_status
struct intel_shared_regs *shared_regs
struct event_constraint *constraint_list
struct intel_excl_cntrs *excl_cntrs
int excl_thread_id
u64 tfa_shadow
struct amd_nb *amd_nb
u64 perf_ctr_virt_mask
int n_pair
void * kfree_on_online[2]
struct perf_event * events[64] ➡️ u64 events[8]
amd64 and riscv64 ⚠️void *platform
long unsigned int active_mask[1]
long unsigned int running[1]
int enabled
int n_added
int n_txn
int assign[64]
u64 tags[64]
struct perf_event * event_list[64]
struct event_constraint * event_constraint[64]
int n_excl
unsigned int txn_flags
int is_fake
struct debug_store *ds
void *ds_pebs_vaddr
void *ds_bts_vaddr
u64 pebs_enabled
int n_pebs
int n_large_pebs
int n_pebs_via_pt
int pebs_output
u64 pebs_data_cfg
u64 active_pebs_data_cfg
int pebs_record_size
int lbr_users
int lbr_pebs_users
struct perf_branch_stack lbr_stack
struct perf_branch_entry lbr_entries[32]
struct er_account *lbr_sel
u64 br_sel
struct x86_perf_task_context *last_task_ctx
int last_log_id
u64 intel_ctrl_guest_mask
u64 intel_ctrl_host_mask
struct perf_guest_switch_msr guest_switch_msrs[64]
u64 intel_cp_status
struct intel_shared_regs *shared_regs
struct event_constraint *constraint_list
struct intel_excl_cntrs *excl_cntrs
int excl_thread_id
u64 tfa_shadow
struct amd_nb *amd_nb
u64 perf_ctr_virt_mask
int n_pair
void * kfree_on_online[2]
struct perf_event * events[64] ➡️ struct perf_event * events[2]
generic and aws ✅
generic and azure ✅
generic and gcp ✅
generic and lowlatency ✅