hw_perf_event
Regular
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
✅