hw_perf_eventRegular
4.4: ✅struct hw_perf_event {
u64 config;
u64 last_tag;
long unsigned int config_base;
long unsigned int event_base;
int event_base_rdpmc;
int idx;
int last_cpu;
int flags;
struct hw_perf_event_extra extra_reg;
struct hw_perf_event_extra branch_reg;
struct hrtimer hrtimer;
struct list_head tp_list;
int cqm_state;
u32 cqm_rmid;
int is_group_event;
struct list_head cqm_events_entry;
struct list_head cqm_groups_entry;
struct list_head cqm_group_entry;
int itrace_started;
struct arch_hw_breakpoint info;
struct list_head bp_list;
struct task_struct *target;
int state;
local64_t prev_count;
u64 sample_period;
u64 last_period;
local64_t period_left;
u64 interrupts_seq;
u64 interrupts;
u64 freq_time_stamp;
u64 freq_count_stamp;
};
4.8: ✅struct hw_perf_event {
u64 config;
u64 last_tag;
long unsigned int config_base;
long unsigned int event_base;
int event_base_rdpmc;
int idx;
int last_cpu;
int flags;
struct hw_perf_event_extra extra_reg;
struct hw_perf_event_extra branch_reg;
struct hrtimer hrtimer;
struct list_head tp_list;
int cqm_state;
u32 cqm_rmid;
int is_group_event;
struct list_head cqm_events_entry;
struct list_head cqm_groups_entry;
struct list_head cqm_group_entry;
int itrace_started;
u64 pwr_acc;
u64 ptsc;
struct arch_hw_breakpoint info;
struct list_head bp_list;
struct task_struct *target;
void *addr_filters;
long unsigned int addr_filters_gen;
int state;
local64_t prev_count;
u64 sample_period;
u64 last_period;
local64_t period_left;
u64 interrupts_seq;
u64 interrupts;
u64 freq_time_stamp;
u64 freq_count_stamp;
};
4.10: ✅struct hw_perf_event {
u64 config;
u64 last_tag;
long unsigned int config_base;
long unsigned int event_base;
int event_base_rdpmc;
int idx;
int last_cpu;
int flags;
struct hw_perf_event_extra extra_reg;
struct hw_perf_event_extra branch_reg;
struct hrtimer hrtimer;
struct list_head tp_list;
int cqm_state;
u32 cqm_rmid;
int is_group_event;
struct list_head cqm_events_entry;
struct list_head cqm_groups_entry;
struct list_head cqm_group_entry;
int itrace_started;
u64 pwr_acc;
u64 ptsc;
struct arch_hw_breakpoint info;
struct list_head bp_list;
struct task_struct *target;
void *addr_filters;
long unsigned int addr_filters_gen;
int state;
local64_t prev_count;
u64 sample_period;
u64 last_period;
local64_t period_left;
u64 interrupts_seq;
u64 interrupts;
u64 freq_time_stamp;
u64 freq_count_stamp;
};
4.13: ✅struct hw_perf_event {
u64 config;
u64 last_tag;
long unsigned int config_base;
long unsigned int event_base;
int event_base_rdpmc;
int idx;
int last_cpu;
int flags;
struct hw_perf_event_extra extra_reg;
struct hw_perf_event_extra branch_reg;
struct hrtimer hrtimer;
struct list_head tp_list;
int itrace_started;
u64 pwr_acc;
u64 ptsc;
struct arch_hw_breakpoint info;
struct list_head bp_list;
u8 iommu_bank;
u8 iommu_cntr;
u16 padding;
u64 conf;
u64 conf1;
struct task_struct *target;
void *addr_filters;
long unsigned int addr_filters_gen;
int state;
local64_t prev_count;
u64 sample_period;
u64 last_period;
local64_t period_left;
u64 interrupts_seq;
u64 interrupts;
u64 freq_time_stamp;
u64 freq_count_stamp;
};
4.15: ✅struct hw_perf_event {
u64 config;
u64 last_tag;
long unsigned int config_base;
long unsigned int event_base;
int event_base_rdpmc;
int idx;
int last_cpu;
int flags;
struct hw_perf_event_extra extra_reg;
struct hw_perf_event_extra branch_reg;
struct hrtimer hrtimer;
struct list_head tp_list;
u64 pwr_acc;
u64 ptsc;
struct arch_hw_breakpoint info;
struct list_head bp_list;
u8 iommu_bank;
u8 iommu_cntr;
u16 padding;
u64 conf;
u64 conf1;
struct task_struct *target;
void *addr_filters;
long unsigned int addr_filters_gen;
int state;
local64_t prev_count;
u64 sample_period;
u64 last_period;
local64_t period_left;
u64 interrupts_seq;
u64 interrupts;
u64 freq_time_stamp;
u64 freq_count_stamp;
};
4.18: ✅struct hw_perf_event {
u64 config;
u64 last_tag;
long unsigned int config_base;
long unsigned int event_base;
int event_base_rdpmc;
int idx;
int last_cpu;
int flags;
struct hw_perf_event_extra extra_reg;
struct hw_perf_event_extra branch_reg;
struct hrtimer hrtimer;
struct list_head tp_list;
u64 pwr_acc;
u64 ptsc;
struct arch_hw_breakpoint info;
struct list_head bp_list;
u8 iommu_bank;
u8 iommu_cntr;
u16 padding;
u64 conf;
u64 conf1;
struct task_struct *target;
void *addr_filters;
long unsigned int addr_filters_gen;
int state;
local64_t prev_count;
u64 sample_period;
u64 last_period;
local64_t period_left;
u64 interrupts_seq;
u64 interrupts;
u64 freq_time_stamp;
u64 freq_count_stamp;
};
5.0: ✅struct hw_perf_event {
u64 config;
u64 last_tag;
long unsigned int config_base;
long unsigned int event_base;
int event_base_rdpmc;
int idx;
int last_cpu;
int flags;
struct hw_perf_event_extra extra_reg;
struct hw_perf_event_extra branch_reg;
struct hrtimer hrtimer;
struct list_head tp_list;
u64 pwr_acc;
u64 ptsc;
struct arch_hw_breakpoint info;
struct list_head bp_list;
u8 iommu_bank;
u8 iommu_cntr;
u16 padding;
u64 conf;
u64 conf1;
struct task_struct *target;
void *addr_filters;
long unsigned int addr_filters_gen;
int state;
local64_t prev_count;
u64 sample_period;
u64 last_period;
local64_t period_left;
u64 interrupts_seq;
u64 interrupts;
u64 freq_time_stamp;
u64 freq_count_stamp;
};
5.3: ✅struct hw_perf_event {
u64 config;
u64 last_tag;
long unsigned int config_base;
long unsigned int event_base;
int event_base_rdpmc;
int idx;
int last_cpu;
int flags;
struct hw_perf_event_extra extra_reg;
struct hw_perf_event_extra branch_reg;
struct hrtimer hrtimer;
struct list_head tp_list;
u64 pwr_acc;
u64 ptsc;
struct arch_hw_breakpoint info;
struct list_head bp_list;
u8 iommu_bank;
u8 iommu_cntr;
u16 padding;
u64 conf;
u64 conf1;
struct task_struct *target;
void *addr_filters;
long unsigned int addr_filters_gen;
int state;
local64_t prev_count;
u64 sample_period;
u64 last_period;
local64_t period_left;
u64 interrupts_seq;
u64 interrupts;
u64 freq_time_stamp;
u64 freq_count_stamp;
};
5.4: ✅struct hw_perf_event {
u64 config;
u64 last_tag;
long unsigned int config_base;
long unsigned int event_base;
int event_base_rdpmc;
int idx;
int last_cpu;
int flags;
struct hw_perf_event_extra extra_reg;
struct hw_perf_event_extra branch_reg;
struct hrtimer hrtimer;
struct list_head tp_list;
u64 pwr_acc;
u64 ptsc;
struct arch_hw_breakpoint info;
struct list_head bp_list;
u8 iommu_bank;
u8 iommu_cntr;
u16 padding;
u64 conf;
u64 conf1;
struct task_struct *target;
void *addr_filters;
long unsigned int addr_filters_gen;
int state;
local64_t prev_count;
u64 sample_period;
u64 last_period;
local64_t period_left;
u64 interrupts_seq;
u64 interrupts;
u64 freq_time_stamp;
u64 freq_count_stamp;
};
5.8: ✅struct hw_perf_event {
u64 config;
u64 last_tag;
long unsigned int config_base;
long unsigned int event_base;
int event_base_rdpmc;
int idx;
int last_cpu;
int flags;
struct hw_perf_event_extra extra_reg;
struct hw_perf_event_extra branch_reg;
struct hrtimer hrtimer;
struct list_head tp_list;
u64 pwr_acc;
u64 ptsc;
struct arch_hw_breakpoint info;
struct list_head bp_list;
u8 iommu_bank;
u8 iommu_cntr;
u16 padding;
u64 conf;
u64 conf1;
struct task_struct *target;
void *addr_filters;
long unsigned int addr_filters_gen;
int state;
local64_t prev_count;
u64 sample_period;
u64 last_period;
local64_t period_left;
u64 interrupts_seq;
u64 interrupts;
u64 freq_time_stamp;
u64 freq_count_stamp;
};
5.11: ✅struct hw_perf_event {
u64 config;
u64 last_tag;
long unsigned int config_base;
long unsigned int event_base;
int event_base_rdpmc;
int idx;
int last_cpu;
int flags;
struct hw_perf_event_extra extra_reg;
struct hw_perf_event_extra branch_reg;
struct hrtimer hrtimer;
struct list_head tp_list;
u64 pwr_acc;
u64 ptsc;
struct arch_hw_breakpoint info;
struct list_head bp_list;
u8 iommu_bank;
u8 iommu_cntr;
u16 padding;
u64 conf;
u64 conf1;
struct task_struct *target;
void *addr_filters;
long unsigned int addr_filters_gen;
int state;
local64_t prev_count;
u64 sample_period;
u64 last_period;
local64_t period_left;
u64 saved_metric;
u64 saved_slots;
u64 interrupts_seq;
u64 interrupts;
u64 freq_time_stamp;
u64 freq_count_stamp;
};
5.13: ✅struct hw_perf_event {
u64 config;
u64 last_tag;
long unsigned int config_base;
long unsigned int event_base;
int event_base_rdpmc;
int idx;
int last_cpu;
int flags;
struct hw_perf_event_extra extra_reg;
struct hw_perf_event_extra branch_reg;
struct hrtimer hrtimer;
struct list_head tp_list;
u64 pwr_acc;
u64 ptsc;
struct arch_hw_breakpoint info;
struct list_head bp_list;
u8 iommu_bank;
u8 iommu_cntr;
u16 padding;
u64 conf;
u64 conf1;
struct task_struct *target;
void *addr_filters;
long unsigned int addr_filters_gen;
int state;
local64_t prev_count;
u64 sample_period;
u64 last_period;
local64_t period_left;
u64 saved_metric;
u64 saved_slots;
u64 interrupts_seq;
u64 interrupts;
u64 freq_time_stamp;
u64 freq_count_stamp;
};
5.15: ✅struct hw_perf_event {
u64 config;
u64 last_tag;
long unsigned int config_base;
long unsigned int event_base;
int event_base_rdpmc;
int idx;
int last_cpu;
int flags;
struct hw_perf_event_extra extra_reg;
struct hw_perf_event_extra branch_reg;
struct hrtimer hrtimer;
struct list_head tp_list;
u64 pwr_acc;
u64 ptsc;
struct arch_hw_breakpoint info;
struct list_head bp_list;
u8 iommu_bank;
u8 iommu_cntr;
u16 padding;
u64 conf;
u64 conf1;
struct task_struct *target;
void *addr_filters;
long unsigned int addr_filters_gen;
int state;
local64_t prev_count;
u64 sample_period;
u64 last_period;
local64_t period_left;
u64 saved_metric;
u64 saved_slots;
u64 interrupts_seq;
u64 interrupts;
u64 freq_time_stamp;
u64 freq_count_stamp;
};
5.19: ✅struct hw_perf_event {
u64 config;
u64 last_tag;
long unsigned int config_base;
long unsigned int event_base;
int event_base_rdpmc;
int idx;
int last_cpu;
int flags;
struct hw_perf_event_extra extra_reg;
struct hw_perf_event_extra branch_reg;
struct hrtimer hrtimer;
struct list_head tp_list;
u64 pwr_acc;
u64 ptsc;
struct arch_hw_breakpoint info;
struct list_head bp_list;
u8 iommu_bank;
u8 iommu_cntr;
u16 padding;
u64 conf;
u64 conf1;
struct task_struct *target;
void *addr_filters;
long unsigned int addr_filters_gen;
int state;
local64_t prev_count;
u64 sample_period;
u64 last_period;
local64_t period_left;
u64 saved_metric;
u64 saved_slots;
u64 interrupts_seq;
u64 interrupts;
u64 freq_time_stamp;
u64 freq_count_stamp;
};
6.2: ✅struct hw_perf_event {
u64 config;
u64 last_tag;
long unsigned int config_base;
long unsigned int event_base;
int event_base_rdpmc;
int idx;
int last_cpu;
int flags;
struct hw_perf_event_extra extra_reg;
struct hw_perf_event_extra branch_reg;
struct hrtimer hrtimer;
struct list_head tp_list;
u64 pwr_acc;
u64 ptsc;
struct arch_hw_breakpoint info;
struct rhlist_head bp_list;
u8 iommu_bank;
u8 iommu_cntr;
u16 padding;
u64 conf;
u64 conf1;
struct task_struct *target;
void *addr_filters;
long unsigned int addr_filters_gen;
int state;
local64_t prev_count;
u64 sample_period;
u64 last_period;
local64_t period_left;
u64 saved_metric;
u64 saved_slots;
u64 interrupts_seq;
u64 interrupts;
u64 freq_time_stamp;
u64 freq_count_stamp;
};
6.5: ✅struct hw_perf_event {
u64 config;
u64 last_tag;
long unsigned int config_base;
long unsigned int event_base;
int event_base_rdpmc;
int idx;
int last_cpu;
int flags;
struct hw_perf_event_extra extra_reg;
struct hw_perf_event_extra branch_reg;
struct hrtimer hrtimer;
struct list_head tp_list;
u64 pwr_acc;
u64 ptsc;
struct arch_hw_breakpoint info;
struct rhlist_head bp_list;
u8 iommu_bank;
u8 iommu_cntr;
u16 padding;
u64 conf;
u64 conf1;
struct task_struct *target;
void *addr_filters;
long unsigned int addr_filters_gen;
int state;
local64_t prev_count;
u64 sample_period;
u64 last_period;
local64_t period_left;
u64 saved_metric;
u64 saved_slots;
u64 interrupts_seq;
u64 interrupts;
u64 freq_time_stamp;
u64 freq_count_stamp;
};
6.8: ✅struct hw_perf_event {
u64 config;
u64 last_tag;
long unsigned int config_base;
long unsigned int event_base;
int event_base_rdpmc;
int idx;
int last_cpu;
int flags;
struct hw_perf_event_extra extra_reg;
struct hw_perf_event_extra branch_reg;
struct hrtimer hrtimer;
struct list_head tp_list;
u64 pwr_acc;
u64 ptsc;
struct arch_hw_breakpoint info;
struct rhlist_head bp_list;
u8 iommu_bank;
u8 iommu_cntr;
u16 padding;
u64 conf;
u64 conf1;
struct task_struct *target;
void *addr_filters;
long unsigned int addr_filters_gen;
int state;
local64_t prev_count;
u64 sample_period;
u64 last_period;
local64_t period_left;
u64 saved_metric;
u64 saved_slots;
u64 interrupts_seq;
u64 interrupts;
u64 freq_time_stamp;
u64 freq_count_stamp;
};
arm64: ✅struct hw_perf_event {
u64 config;
u64 last_tag;
long unsigned int config_base;
long unsigned int event_base;
int event_base_rdpmc;
int idx;
int last_cpu;
int flags;
struct hw_perf_event_extra extra_reg;
struct hw_perf_event_extra branch_reg;
struct hrtimer hrtimer;
struct list_head tp_list;
u64 pwr_acc;
u64 ptsc;
struct arch_hw_breakpoint info;
struct list_head bp_list;
u8 iommu_bank;
u8 iommu_cntr;
u16 padding;
u64 conf;
u64 conf1;
struct task_struct *target;
void *addr_filters;
long unsigned int addr_filters_gen;
int state;
local64_t prev_count;
u64 sample_period;
u64 last_period;
local64_t period_left;
u64 interrupts_seq;
u64 interrupts;
u64 freq_time_stamp;
u64 freq_count_stamp;
};
armhf: ✅struct hw_perf_event {
u64 config;
u64 last_tag;
long unsigned int config_base;
long unsigned int event_base;
int event_base_rdpmc;
int idx;
int last_cpu;
int flags;
struct hw_perf_event_extra extra_reg;
struct hw_perf_event_extra branch_reg;
struct hrtimer hrtimer;
struct list_head tp_list;
u64 pwr_acc;
u64 ptsc;
struct arch_hw_breakpoint info;
struct list_head bp_list;
u8 iommu_bank;
u8 iommu_cntr;
u16 padding;
u64 conf;
u64 conf1;
struct task_struct *target;
void *addr_filters;
long unsigned int addr_filters_gen;
int state;
local64_t prev_count;
u64 sample_period;
u64 last_period;
local64_t period_left;
u64 interrupts_seq;
u64 interrupts;
u64 freq_time_stamp;
u64 freq_count_stamp;
};
ppc64el: ✅struct hw_perf_event {
u64 config;
u64 last_tag;
long unsigned int config_base;
long unsigned int event_base;
int event_base_rdpmc;
int idx;
int last_cpu;
int flags;
struct hw_perf_event_extra extra_reg;
struct hw_perf_event_extra branch_reg;
struct hrtimer hrtimer;
struct list_head tp_list;
u64 pwr_acc;
u64 ptsc;
struct arch_hw_breakpoint info;
struct list_head bp_list;
u8 iommu_bank;
u8 iommu_cntr;
u16 padding;
u64 conf;
u64 conf1;
struct task_struct *target;
void *addr_filters;
long unsigned int addr_filters_gen;
int state;
local64_t prev_count;
u64 sample_period;
u64 last_period;
local64_t period_left;
u64 interrupts_seq;
u64 interrupts;
u64 freq_time_stamp;
u64 freq_count_stamp;
};
riscv64: ✅struct hw_perf_event {
u64 config;
u64 last_tag;
long unsigned int config_base;
long unsigned int event_base;
int event_base_rdpmc;
int idx;
int last_cpu;
int flags;
struct hw_perf_event_extra extra_reg;
struct hw_perf_event_extra branch_reg;
struct hrtimer hrtimer;
struct list_head tp_list;
u64 pwr_acc;
u64 ptsc;
u8 iommu_bank;
u8 iommu_cntr;
u16 padding;
u64 conf;
u64 conf1;
struct task_struct *target;
void *addr_filters;
long unsigned int addr_filters_gen;
int state;
local64_t prev_count;
u64 sample_period;
u64 last_period;
local64_t period_left;
u64 interrupts_seq;
u64 interrupts;
u64 freq_time_stamp;
u64 freq_count_stamp;
};
aws: ✅struct hw_perf_event {
u64 config;
u64 last_tag;
long unsigned int config_base;
long unsigned int event_base;
int event_base_rdpmc;
int idx;
int last_cpu;
int flags;
struct hw_perf_event_extra extra_reg;
struct hw_perf_event_extra branch_reg;
struct hrtimer hrtimer;
struct list_head tp_list;
u64 pwr_acc;
u64 ptsc;
struct arch_hw_breakpoint info;
struct list_head bp_list;
u8 iommu_bank;
u8 iommu_cntr;
u16 padding;
u64 conf;
u64 conf1;
struct task_struct *target;
void *addr_filters;
long unsigned int addr_filters_gen;
int state;
local64_t prev_count;
u64 sample_period;
u64 last_period;
local64_t period_left;
u64 interrupts_seq;
u64 interrupts;
u64 freq_time_stamp;
u64 freq_count_stamp;
};
azure: ✅struct hw_perf_event {
u64 config;
u64 last_tag;
long unsigned int config_base;
long unsigned int event_base;
int event_base_rdpmc;
int idx;
int last_cpu;
int flags;
struct hw_perf_event_extra extra_reg;
struct hw_perf_event_extra branch_reg;
struct hrtimer hrtimer;
struct list_head tp_list;
u64 pwr_acc;
u64 ptsc;
struct arch_hw_breakpoint info;
struct list_head bp_list;
u8 iommu_bank;
u8 iommu_cntr;
u16 padding;
u64 conf;
u64 conf1;
struct task_struct *target;
void *addr_filters;
long unsigned int addr_filters_gen;
int state;
local64_t prev_count;
u64 sample_period;
u64 last_period;
local64_t period_left;
u64 interrupts_seq;
u64 interrupts;
u64 freq_time_stamp;
u64 freq_count_stamp;
};
gcp: ✅struct hw_perf_event {
u64 config;
u64 last_tag;
long unsigned int config_base;
long unsigned int event_base;
int event_base_rdpmc;
int idx;
int last_cpu;
int flags;
struct hw_perf_event_extra extra_reg;
struct hw_perf_event_extra branch_reg;
struct hrtimer hrtimer;
struct list_head tp_list;
u64 pwr_acc;
u64 ptsc;
struct arch_hw_breakpoint info;
struct list_head bp_list;
u8 iommu_bank;
u8 iommu_cntr;
u16 padding;
u64 conf;
u64 conf1;
struct task_struct *target;
void *addr_filters;
long unsigned int addr_filters_gen;
int state;
local64_t prev_count;
u64 sample_period;
u64 last_period;
local64_t period_left;
u64 interrupts_seq;
u64 interrupts;
u64 freq_time_stamp;
u64 freq_count_stamp;
};
lowlatency: ✅struct hw_perf_event {
u64 config;
u64 last_tag;
long unsigned int config_base;
long unsigned int event_base;
int event_base_rdpmc;
int idx;
int last_cpu;
int flags;
struct hw_perf_event_extra extra_reg;
struct hw_perf_event_extra branch_reg;
struct hrtimer hrtimer;
struct list_head tp_list;
u64 pwr_acc;
u64 ptsc;
struct arch_hw_breakpoint info;
struct list_head bp_list;
u8 iommu_bank;
u8 iommu_cntr;
u16 padding;
u64 conf;
u64 conf1;
struct task_struct *target;
void *addr_filters;
long unsigned int addr_filters_gen;
int state;
local64_t prev_count;
u64 sample_period;
u64 last_period;
local64_t period_left;
u64 interrupts_seq;
u64 interrupts;
u64 freq_time_stamp;
u64 freq_count_stamp;
};
Regular
4.4 and 4.8 ⚠️u64 pwr_acc
u64 ptsc
void *addr_filters
long unsigned int addr_filters_gen
4.8 and 4.10 ✅
4.10 and 4.13 ⚠️u8 iommu_bank
u8 iommu_cntr
u16 padding
u64 conf
u64 conf1
int cqm_state
u32 cqm_rmid
int is_group_event
struct list_head cqm_events_entry
struct list_head cqm_groups_entry
struct list_head cqm_group_entry
4.13 and 4.15 ⚠️int itrace_started
4.15 and 4.18 ✅
4.18 and 5.0 ✅
5.0 and 5.3 ✅
5.3 and 5.4 ✅
5.4 and 5.8 ✅
5.8 and 5.11 ⚠️u64 saved_metric
u64 saved_slots
5.11 and 5.13 ✅
5.13 and 5.15 ✅
5.15 and 5.19 ✅
5.19 and 6.2 ⚠️struct list_head bp_list ➡️ struct rhlist_head bp_list
6.2 and 6.5 ✅
6.5 and 6.8 ✅
amd64 and arm64 ✅
amd64 and armhf ✅
amd64 and ppc64el ✅
amd64 and riscv64 ⚠️struct arch_hw_breakpoint info
struct list_head bp_list
generic and aws ✅
generic and azure ✅
generic and gcp ✅
generic and lowlatency ✅