/kernel/linux/linux-5.10/include/linux/ |
H A D | hw_breakpoint.h | 5 #include <linux/perf_event.h> 32 static inline unsigned long hw_breakpoint_addr(struct perf_event *bp) in hw_breakpoint_addr() 37 static inline int hw_breakpoint_type(struct perf_event *bp) in hw_breakpoint_type() 42 static inline unsigned long hw_breakpoint_len(struct perf_event *bp) in hw_breakpoint_len() 47 extern struct perf_event * 55 modify_user_hw_breakpoint(struct perf_event *bp, struct perf_event_attr *attr); 57 modify_user_hw_breakpoint_check(struct perf_event *bp, struct perf_event_attr *attr, 63 extern struct perf_event * 69 extern struct perf_event * __percpu * 74 extern int register_perf_hw_breakpoint(struct perf_event *b [all...] |
H A D | perf_event.h | 17 #include <uapi/linux/perf_event.h> 25 # include <asm/perf_event.h> 252 struct perf_event; 325 int (*event_init) (struct perf_event *event); 331 void (*event_mapped) (struct perf_event *event, struct mm_struct *mm); /* optional */ 332 void (*event_unmapped) (struct perf_event *event, struct mm_struct *mm); /* optional */ 360 int (*add) (struct perf_event *event, int flags); 361 void (*del) (struct perf_event *event, int flags); 381 void (*start) (struct perf_event *event, int flags); 382 void (*stop) (struct perf_event *even 626 struct perf_event { global() struct [all...] |
/kernel/linux/linux-6.6/include/linux/ |
H A D | hw_breakpoint.h | 5 #include <linux/perf_event.h> 42 static inline unsigned long hw_breakpoint_addr(struct perf_event *bp) in hw_breakpoint_addr() 47 static inline int hw_breakpoint_type(struct perf_event *bp) in hw_breakpoint_type() 52 static inline unsigned long hw_breakpoint_len(struct perf_event *bp) in hw_breakpoint_len() 57 extern struct perf_event * 65 modify_user_hw_breakpoint(struct perf_event *bp, struct perf_event_attr *attr); 67 modify_user_hw_breakpoint_check(struct perf_event *bp, struct perf_event_attr *attr, 73 extern struct perf_event * 79 extern struct perf_event * __percpu * 84 extern int register_perf_hw_breakpoint(struct perf_event *b [all...] |
H A D | perf_event.h | 17 #include <uapi/linux/perf_event.h> 25 # include <asm/perf_event.h> 273 struct perf_event; 350 int (*event_init) (struct perf_event *event); 356 void (*event_mapped) (struct perf_event *event, struct mm_struct *mm); /* optional */ 357 void (*event_unmapped) (struct perf_event *event, struct mm_struct *mm); /* optional */ 385 int (*add) (struct perf_event *event, int flags); 386 void (*del) (struct perf_event *event, int flags); 406 void (*start) (struct perf_event *event, int flags); 407 void (*stop) (struct perf_event *even 671 struct perf_event { global() struct [all...] |
/kernel/linux/linux-6.6/include/linux/perf/ |
H A D | riscv_pmu.h | 12 #include <linux/perf_event.h> 37 struct perf_event *events[RISCV_MAX_COUNTERS]; 51 u64 (*ctr_read)(struct perf_event *event); 52 int (*ctr_get_idx)(struct perf_event *event); 54 void (*ctr_clear_idx)(struct perf_event *event); 55 void (*ctr_start)(struct perf_event *event, u64 init_val); 56 void (*ctr_stop)(struct perf_event *event, unsigned long flag); 57 int (*event_map)(struct perf_event *event, u64 *config); 58 void (*event_init)(struct perf_event *event); 59 void (*event_mapped)(struct perf_event *even [all...] |
H A D | arm_pmu.h | 12 #include <linux/perf_event.h> 54 struct perf_event *events[ARMPMU_MAX_HWEVENTS]; 91 void (*enable)(struct perf_event *event); 92 void (*disable)(struct perf_event *event); 94 struct perf_event *event); 96 struct perf_event *event); 99 u64 (*read_counter)(struct perf_event *event); 100 void (*write_counter)(struct perf_event *event, u64 val); 104 int (*map_event)(struct perf_event *event); 126 u64 armpmu_event_update(struct perf_event *even [all...] |
/kernel/linux/linux-6.6/tools/perf/util/ |
H A D | event.h | 6 * in files included from uapi/linux/perf_event.h such as 271 union perf_event *event, 275 union perf_event *event, 279 union perf_event *event, 283 union perf_event *event, 287 union perf_event *event, 291 union perf_event *event, 295 union perf_event *event, 299 union perf_event *event, 303 union perf_event *even [all...] |
H A D | tool.h | 10 union perf_event; 18 typedef int (*event_sample)(struct perf_tool *tool, union perf_event *event, 22 typedef int (*event_op)(struct perf_tool *tool, union perf_event *event, 26 union perf_event *event, 29 typedef int (*event_op2)(struct perf_session *session, union perf_event *event); 30 typedef s64 (*event_op3)(struct perf_session *session, union perf_event *event); 31 typedef int (*event_op4)(struct perf_session *session, union perf_event *event, u64 data, 34 typedef int (*event_oe)(struct perf_tool *tool, union perf_event *event,
|
/kernel/linux/linux-5.10/tools/perf/util/ |
H A D | event.h | 6 * in files included from uapi/linux/perf_event.h such as 299 union perf_event *event, 303 union perf_event *event, 307 union perf_event *event, 311 union perf_event *event, 315 union perf_event *event, 319 union perf_event *event, 323 union perf_event *event, 327 union perf_event *event, 331 union perf_event *even [all...] |
H A D | tool.h | 10 union perf_event; 18 typedef int (*event_sample)(struct perf_tool *tool, union perf_event *event, 22 typedef int (*event_op)(struct perf_tool *tool, union perf_event *event, 26 union perf_event *event, 29 typedef int (*event_op2)(struct perf_session *session, union perf_event *event); 30 typedef s64 (*event_op3)(struct perf_session *session, union perf_event *event); 31 typedef int (*event_op4)(struct perf_session *session, union perf_event *event, u64 data); 33 typedef int (*event_oe)(struct perf_tool *tool, union perf_event *event,
|
/kernel/linux/linux-6.6/drivers/perf/hisilicon/ |
H A D | hisi_uncore_pmu.h | 19 #include <linux/perf_event.h> 41 static inline u32 hisi_get_##name(struct perf_event *event) \ 54 int (*check_filter)(struct perf_event *event); 56 int (*get_event_idx)(struct perf_event *); 67 void (*enable_filter)(struct perf_event *event); 68 void (*disable_filter)(struct perf_event *event); 79 struct perf_event *hw_events[HISI_MAX_COUNTERS]; 112 int hisi_uncore_pmu_get_event_idx(struct perf_event *event); 113 void hisi_uncore_pmu_read(struct perf_event *event); 114 int hisi_uncore_pmu_add(struct perf_event *even [all...] |
/kernel/linux/linux-5.10/kernel/events/ |
H A D | hw_breakpoint.c | 71 __weak int hw_breakpoint_weight(struct perf_event *bp) in hw_breakpoint_weight() 105 static int task_bp_pinned(int cpu, struct perf_event *bp, enum bp_type_idx type) in task_bp_pinned() 108 struct perf_event *iter; in task_bp_pinned() 121 static const struct cpumask *cpumask_of_bp(struct perf_event *bp) in cpumask_of_bp() 133 fetch_bp_busy_slots(struct bp_busy_slots *slots, struct perf_event *bp, in fetch_bp_busy_slots() 172 static void toggle_bp_task_slot(struct perf_event *bp, int cpu, in toggle_bp_task_slot() 191 toggle_bp_slot(struct perf_event *bp, bool enable, enum bp_type_idx type, in toggle_bp_slot() 216 __weak int arch_reserve_bp_slot(struct perf_event *bp) in arch_reserve_bp_slot() 221 __weak void arch_release_bp_slot(struct perf_event *bp) in arch_release_bp_slot() 228 __weak void arch_unregister_hw_breakpoint(struct perf_event *b [all...] |
/kernel/linux/linux-5.10/include/linux/perf/ |
H A D | arm_pmu.h | 12 #include <linux/perf_event.h> 49 struct perf_event *events[ARMPMU_MAX_HWEVENTS]; 86 void (*enable)(struct perf_event *event); 87 void (*disable)(struct perf_event *event); 89 struct perf_event *event); 91 struct perf_event *event); 94 u64 (*read_counter)(struct perf_event *event); 95 void (*write_counter)(struct perf_event *event, u64 val); 99 int (*map_event)(struct perf_event *event); 100 int (*filter_match)(struct perf_event *even [all...] |
/kernel/linux/linux-5.10/arch/powerpc/kernel/ |
H A D | hw_breakpoint.c | 34 static DEFINE_PER_CPU(struct perf_event *, bp_per_reg[HBP_NUM_MAX]); 66 int arch_install_hw_breakpoint(struct perf_event *bp) in arch_install_hw_breakpoint() 69 struct perf_event **slot; in arch_install_hw_breakpoint() 102 void arch_uninstall_hw_breakpoint(struct perf_event *bp) in arch_uninstall_hw_breakpoint() 105 struct perf_event **slot; in arch_uninstall_hw_breakpoint() 122 static bool is_ptrace_bp(struct perf_event *bp) in is_ptrace_bp() 129 struct perf_event *bp; 136 static struct breakpoint *alloc_breakpoint(struct perf_event *bp) in alloc_breakpoint() 148 static bool bp_addr_range_overlap(struct perf_event *bp1, struct perf_event *bp [all...] |
/kernel/linux/linux-5.10/arch/x86/events/intel/ |
H A D | uncore.h | 7 #include <linux/perf_event.h> 8 #include "../perf_event.h" 101 void (*disable_event)(struct intel_uncore_box *, struct perf_event *); 102 void (*enable_event)(struct intel_uncore_box *, struct perf_event *); 103 u64 (*read_counter)(struct intel_uncore_box *, struct perf_event *); 104 int (*hw_config)(struct intel_uncore_box *, struct perf_event *); 106 struct perf_event *); 107 void (*put_constraint)(struct intel_uncore_box *, struct perf_event *); 135 struct perf_event *events[UNCORE_PMC_IDX_MAX]; 136 struct perf_event *event_lis [all...] |
/kernel/linux/linux-6.6/arch/x86/events/intel/ |
H A D | uncore.h | 8 #include <linux/perf_event.h> 9 #include "../perf_event.h" 112 void (*disable_event)(struct intel_uncore_box *, struct perf_event *); 113 void (*enable_event)(struct intel_uncore_box *, struct perf_event *); 114 u64 (*read_counter)(struct intel_uncore_box *, struct perf_event *); 115 int (*hw_config)(struct intel_uncore_box *, struct perf_event *); 117 struct perf_event *); 118 void (*put_constraint)(struct intel_uncore_box *, struct perf_event *); 145 struct perf_event *events[UNCORE_PMC_IDX_MAX]; 146 struct perf_event *event_lis [all...] |
/kernel/linux/linux-5.10/drivers/perf/hisilicon/ |
H A D | hisi_uncore_pmu.h | 18 #include <linux/perf_event.h> 41 int (*get_event_idx)(struct perf_event *); 53 struct perf_event *hw_events[HISI_MAX_COUNTERS]; 81 int hisi_uncore_pmu_get_event_idx(struct perf_event *event); 82 void hisi_uncore_pmu_read(struct perf_event *event); 83 int hisi_uncore_pmu_add(struct perf_event *event, int flags); 84 void hisi_uncore_pmu_del(struct perf_event *event, int flags); 85 void hisi_uncore_pmu_start(struct perf_event *event, int flags); 86 void hisi_uncore_pmu_stop(struct perf_event *event, int flags); 87 void hisi_uncore_pmu_set_event_period(struct perf_event *even [all...] |
/kernel/linux/linux-5.10/arch/xtensa/kernel/ |
H A D | hw_breakpoint.c | 14 #include <linux/perf_event.h> 18 static DEFINE_PER_CPU(struct perf_event *, bp_on_reg[XCHAL_NUM_IBREAK]); 21 static DEFINE_PER_CPU(struct perf_event *, wp_on_reg[XCHAL_NUM_DBREAK]); 48 * Construct an arch_hw_breakpoint from a perf_event. 50 int hw_breakpoint_arch_parse(struct perf_event *bp, in hw_breakpoint_arch_parse() 133 static int alloc_slot(struct perf_event **slot, size_t n, in alloc_slot() 134 struct perf_event *bp) in alloc_slot() 147 static void set_ibreak_regs(int reg, struct perf_event *bp) in set_ibreak_regs() 157 static void set_dbreak_regs(int reg, struct perf_event *bp) in set_dbreak_regs() 171 int arch_install_hw_breakpoint(struct perf_event *b [all...] |
/kernel/linux/linux-6.6/arch/xtensa/kernel/ |
H A D | hw_breakpoint.c | 14 #include <linux/perf_event.h> 19 static DEFINE_PER_CPU(struct perf_event *, bp_on_reg[XCHAL_NUM_IBREAK]); 22 static DEFINE_PER_CPU(struct perf_event *, wp_on_reg[XCHAL_NUM_DBREAK]); 49 * Construct an arch_hw_breakpoint from a perf_event. 51 int hw_breakpoint_arch_parse(struct perf_event *bp, in hw_breakpoint_arch_parse() 134 static int alloc_slot(struct perf_event **slot, size_t n, in alloc_slot() 135 struct perf_event *bp) in alloc_slot() 148 static void set_ibreak_regs(int reg, struct perf_event *bp) in set_ibreak_regs() 158 static void set_dbreak_regs(int reg, struct perf_event *bp) in set_dbreak_regs() 172 int arch_install_hw_breakpoint(struct perf_event *b [all...] |
/kernel/linux/linux-5.10/arch/x86/events/ |
H A D | perf_event.h | 15 #include <linux/perf_event.h> 84 static inline bool is_topdown_count(struct perf_event *event) in is_topdown_count() 89 static inline bool is_metric_event(struct perf_event *event) in is_metric_event() 98 static inline bool is_slots_event(struct perf_event *event) in is_slots_event() 103 static inline bool is_topdown_event(struct perf_event *event) in is_topdown_event() 111 struct perf_event *owners[X86_PMC_IDX_MAX]; 228 struct perf_event *events[X86_PMC_IDX_MAX]; /* in counter order */ 243 struct perf_event *event_list[X86_PMC_IDX_MAX]; /* in enabled order */ 642 void (*enable)(struct perf_event *); 643 void (*disable)(struct perf_event *); [all...] |
/kernel/linux/linux-6.6/kernel/events/ |
H A D | hw_breakpoint.c | 108 static inline struct mutex *get_task_bps_mutex(struct perf_event *bp) in get_task_bps_mutex() 115 static struct mutex *bp_constraints_lock(struct perf_event *bp) in bp_constraints_lock() 149 static bool bp_constraints_is_locked(struct perf_event *bp) in bp_constraints_is_locked() 158 static inline void assert_bp_constraints_lock_held(struct perf_event *bp) in assert_bp_constraints_lock_held() 285 static inline int hw_breakpoint_weight(struct perf_event *bp) in hw_breakpoint_weight() 322 static int task_bp_pinned(int cpu, struct perf_event *bp, enum bp_type_idx type) in task_bp_pinned() 325 struct perf_event *iter; in task_bp_pinned() 358 static const struct cpumask *cpumask_of_bp(struct perf_event *bp) in cpumask_of_bp() 370 max_bp_pinned_slots(struct perf_event *bp, enum bp_type_idx type) in max_bp_pinned_slots() 409 toggle_bp_slot(struct perf_event *b [all...] |
H A D | core.c | 38 #include <linux/perf_event.h> 176 static bool is_kernel_event(struct perf_event *event) in is_kernel_event() 208 typedef void (*event_f)(struct perf_event *, struct perf_cpu_context *, 212 struct perf_event *event; 220 struct perf_event *event = efs->event; in event_function() 263 static void event_function_call(struct perf_event *event, event_f func, void *data) in event_function_call() 316 static void event_function_local(struct perf_event *event, event_f func, void *data) in event_function_local() 575 static u64 perf_event_time(struct perf_event *event); 584 static inline u64 perf_event_clock(struct perf_event *event) in perf_event_clock() 612 __perf_effective_state(struct perf_event *even [all...] |
/kernel/linux/linux-6.6/tools/testing/selftests/bpf/prog_tests/ |
H A D | fill_link_info.c | 51 if (!ASSERT_EQ(info.perf_event.type, type, "perf_type_match")) in verify_perf_link_info() 54 switch (info.perf_event.type) { in verify_perf_link_info() 57 ASSERT_EQ(info.perf_event.kprobe.offset, offset, "kprobe_offset"); in verify_perf_link_info() 61 ASSERT_EQ(info.perf_event.kprobe.addr, addr + entry_offset, in verify_perf_link_info() 64 if (!info.perf_event.kprobe.func_name) { in verify_perf_link_info() 65 ASSERT_EQ(info.perf_event.kprobe.name_len, 0, "name_len"); in verify_perf_link_info() 66 info.perf_event.kprobe.func_name = ptr_to_u64(&buf); in verify_perf_link_info() 67 info.perf_event.kprobe.name_len = sizeof(buf); in verify_perf_link_info() 71 err = strncmp(u64_to_ptr(info.perf_event.kprobe.func_name), KPROBE_FUNC, in verify_perf_link_info() 76 if (!info.perf_event in verify_perf_link_info() [all...] |
/kernel/linux/linux-6.6/arch/x86/events/ |
H A D | perf_event.h | 15 #include <linux/perf_event.h> 89 static inline bool is_topdown_count(struct perf_event *event) in is_topdown_count() 94 static inline bool is_metric_event(struct perf_event *event) in is_metric_event() 103 static inline bool is_slots_event(struct perf_event *event) in is_slots_event() 108 static inline bool is_topdown_event(struct perf_event *event) in is_topdown_event() 116 struct perf_event *owners[X86_PMC_IDX_MAX]; 235 struct perf_event *events[X86_PMC_IDX_MAX]; /* in counter order */ 250 struct perf_event *event_list[X86_PMC_IDX_MAX]; /* in enabled order */ 748 void (*enable)(struct perf_event *); 749 void (*disable)(struct perf_event *); [all...] |
/kernel/linux/linux-5.10/arch/x86/include/asm/ |
H A D | hw_breakpoint.h | 53 struct perf_event; 57 extern int hw_breakpoint_arch_parse(struct perf_event *bp, 64 int arch_install_hw_breakpoint(struct perf_event *bp); 65 void arch_uninstall_hw_breakpoint(struct perf_event *bp); 66 void hw_breakpoint_pmu_read(struct perf_event *bp); 67 void hw_breakpoint_pmu_unthrottle(struct perf_event *bp); 70 arch_fill_perf_breakpoint(struct perf_event *bp);
|