/linux/include/linux/ |
H A D | hw_breakpoint.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 *bp); 85 extern void unregister_hw_breakpoint(struct perf_event *bp); [all …]
|
H A D | perf_event.h | 282 struct perf_event; 378 int (*event_init) (struct perf_event *event); 384 void (*event_mapped) (struct perf_event *event, struct mm_struct *mm); /* optional */ 385 void (*event_unmapped) (struct perf_event *event, struct mm_struct *mm); /* optional */ 415 int (*add) (struct perf_event *event, int flags); 416 void (*del) (struct perf_event *event, int flags); 448 void (*start) (struct perf_event *event, int flags); 449 void (*stop) (struct perf_event *event, int flags); 457 void (*read) (struct perf_event *event); 492 int (*event_idx) (struct perf_event *event); /*optional */ [all …]
|
H A D | trace_events.h | 392 struct perf_event *); 686 struct perf_event *p_event) \ 753 int perf_event_attach_bpf_prog(struct perf_event *event, struct bpf_prog *prog, u64 bpf_cookie); 754 void perf_event_detach_bpf_prog(struct perf_event *event); 755 int perf_event_query_prog_array(struct perf_event *event, void __user *info); 763 int bpf_get_perf_event_info(const struct perf_event *event, u32 *prog_id, 776 perf_event_attach_bpf_prog(struct perf_event *event, struct bpf_prog *prog, u64 bpf_cookie) in perf_event_attach_bpf_prog() 781 static inline void perf_event_detach_bpf_prog(struct perf_event *event) { } in perf_event_detach_bpf_prog() 784 perf_event_query_prog_array(struct perf_event *event, void __user *info) in perf_event_query_prog_array() 804 static inline int bpf_get_perf_event_info(const struct perf_event *event, in bpf_get_perf_event_info() [all …]
|
/linux/tools/perf/util/ |
H A D | event.h | 6 * in files included from uapi/linux/perf_event.h such as 272 union perf_event *event, 276 union perf_event *event, 280 union perf_event *event, 284 union perf_event *event, 288 union perf_event *event, 292 union perf_event *event, 296 union perf_event *event, 300 union perf_event *event, 304 union perf_event *even [all...] |
H A D | tool.h | 10 union perf_event; 18 typedef int (*event_sample)(const struct perf_tool *tool, union perf_event *event, 22 typedef int (*event_op)(const 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)(const struct perf_tool *tool, union perf_event *event, 97 union perf_event *event,
|
H A D | tool.c | 14 union perf_event *event, u64 file_offset, in perf_session__process_compressed_event() 74 union perf_event *event in process_event_synth_tracing_data_stub() 82 union perf_event *event __maybe_unused, in process_event_synth_attr_stub() 91 union perf_event *event __maybe_unused, in process_event_synth_event_update_stub() 103 union perf_event *event __maybe_unused, in process_event_sample_stub() 113 union perf_event *event __maybe_unused, in process_event_stub() 122 union perf_event *event __maybe_unused, in process_finished_round_stub() 145 union perf_event *event) in process_event_auxtrace_stub() 154 union perf_event *event __maybe_unused) in process_event_op2_stub() 163 union perf_event *event __maybe_unused) in process_event_thread_map_stub() [all …]
|
H A D | machine.h | 21 union perf_event; 105 int machine__process_comm_event(struct machine *machine, union perf_event *event, 107 int machine__process_exit_event(struct machine *machine, union perf_event *event, 109 int machine__process_fork_event(struct machine *machine, union perf_event *event, 111 int machine__process_lost_event(struct machine *machine, union perf_event *event, 113 int machine__process_lost_samples_event(struct machine *machine, union perf_event *event, 116 union perf_event *event); 118 union perf_event *event); 120 union perf_event *event); 122 union perf_event *event); [all …]
|
H A D | event.c | 174 size_t perf_event__fprintf_comm(union perf_event *event, FILE *fp) in perf_event__fprintf_comm() 186 size_t perf_event__fprintf_namespaces(union perf_event *event, FILE *fp) in perf_event__fprintf_namespaces() 213 size_t perf_event__fprintf_cgroup(union perf_event *event, FILE *fp) in perf_event__fprintf_cgroup() 220 union perf_event *event, in perf_event__process_comm() 228 union perf_event *event, in perf_event__process_namespaces() 236 union perf_event *event, in perf_event__process_cgroup() 244 union perf_event *event, in perf_event__process_lost() 252 union perf_event *event, in perf_event__process_aux() 260 union perf_event *event, in perf_event__process_itrace_start() 268 union perf_event *event, in perf_event__process_aux_output_hw_id() [all …]
|
/linux/include/linux/perf/ |
H A D | riscv_pmu.h | 37 struct perf_event *events[RISCV_MAX_COUNTERS]; 59 u64 (*ctr_read)(struct perf_event *event); 60 int (*ctr_get_idx)(struct perf_event *event); 62 void (*ctr_clear_idx)(struct perf_event *event); 63 void (*ctr_start)(struct perf_event *event, u64 init_val); 64 void (*ctr_stop)(struct perf_event *event, unsigned long flag); 65 int (*event_map)(struct perf_event *event, u64 *config); 66 void (*event_init)(struct perf_event *event); 67 void (*event_mapped)(struct perf_event *event, struct mm_struct *mm); 68 void (*event_unmapped)(struct perf_event *event, struct mm_struct *mm); [all …]
|
H A D | arm_pmu.h | 58 struct perf_event *events[ARMPMU_MAX_HWEVENTS]; 89 void (*enable)(struct perf_event *event); 90 void (*disable)(struct perf_event *event); 92 struct perf_event *event); 94 struct perf_event *event); 97 u64 (*read_counter)(struct perf_event *event); 98 void (*write_counter)(struct perf_event *event, u64 val); 102 int (*map_event)(struct perf_event *event); 124 u64 armpmu_event_update(struct perf_event *event); 126 int armpmu_event_set_period(struct perf_event *event); [all …]
|
/linux/arch/x86/events/intel/ |
H A D | uncore.h | 115 void (*disable_event)(struct intel_uncore_box *, struct perf_event *); 116 void (*enable_event)(struct intel_uncore_box *, struct perf_event *); 117 u64 (*read_counter)(struct intel_uncore_box *, struct perf_event *); 118 int (*hw_config)(struct intel_uncore_box *, struct perf_event *); 120 struct perf_event *); 121 void (*put_constraint)(struct intel_uncore_box *, struct perf_event *); 149 struct perf_event *events[UNCORE_PMC_IDX_MAX]; 150 struct perf_event *event_list[UNCORE_PMC_IDX_MAX]; 380 struct perf_event *event) in uncore_freerunning_counter() 467 struct perf_event *event) in uncore_freerunning_bits() [all …]
|
/linux/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 *bp, bool enable, enum bp_type_idx type, int weight) in toggle_bp_slot() [all …]
|
H A D | core.c | 211 static bool is_kernel_event(struct perf_event *event) in is_kernel_event() 243 typedef void (*event_f)(struct perf_event *, struct perf_cpu_context *, 247 struct perf_event *event; 255 struct perf_event *event = efs->event; in event_function() 298 static void event_function_call(struct perf_event *event, event_f func, void *data) in event_function_call() 355 static void event_function_local(struct perf_event *event, event_f func, void *data) in event_function_local() 609 static u64 perf_event_time(struct perf_event *event); 618 static inline u64 perf_event_clock(struct perf_event *event) in perf_event_clock() 646 __perf_effective_state(struct perf_event *event) in __perf_effective_state() 648 struct perf_event *leader = event->group_leader; in __perf_effective_state() [all …]
|
/linux/tools/bpf/bpftool/ |
H A D | link.c | 366 jsonw_bool_field(wtr, "retprobe", info->perf_event.type == BPF_PERF_EVENT_KRETPROBE); in show_perf_event_kprobe_json() 367 jsonw_uint_field(wtr, "addr", info->perf_event.kprobe.addr); in show_perf_event_kprobe_json() 369 u64_to_ptr(info->perf_event.kprobe.func_name)); in show_perf_event_kprobe_json() 370 jsonw_uint_field(wtr, "offset", info->perf_event.kprobe.offset); in show_perf_event_kprobe_json() 371 jsonw_uint_field(wtr, "missed", info->perf_event.kprobe.missed); in show_perf_event_kprobe_json() 372 jsonw_uint_field(wtr, "cookie", info->perf_event.kprobe.cookie); in show_perf_event_kprobe_json() 378 jsonw_bool_field(wtr, "retprobe", info->perf_event.type == BPF_PERF_EVENT_URETPROBE); in show_perf_event_uprobe_json() 380 u64_to_ptr(info->perf_event.uprobe.file_name)); in show_perf_event_uprobe_json() 381 jsonw_uint_field(wtr, "offset", info->perf_event.uprobe.offset); in show_perf_event_uprobe_json() 382 jsonw_uint_field(wtr, "cookie", info->perf_event.uprobe.cookie); in show_perf_event_uprobe_json() [all …]
|
/linux/arch/xtensa/kernel/ |
H A D | hw_breakpoint.c | 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]); 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 *bp) in arch_install_hw_breakpoint() 193 static int free_slot(struct perf_event **slot, size_t n, in free_slot() 194 struct perf_event *bp) in free_slot() [all …]
|
/linux/tools/testing/selftests/bpf/prog_tests/ |
H A D | fill_link_info.c | 55 if (!ASSERT_EQ(info.perf_event.type, type, "perf_type_match")) in verify_perf_link_info() 58 switch (info.perf_event.type) { in verify_perf_link_info() 61 ASSERT_EQ(info.perf_event.kprobe.offset, offset, "kprobe_offset"); in verify_perf_link_info() 65 ASSERT_EQ(info.perf_event.kprobe.addr, addr + entry_offset, in verify_perf_link_info() 68 ASSERT_EQ(info.perf_event.kprobe.cookie, PERF_EVENT_COOKIE, "kprobe_cookie"); in verify_perf_link_info() 70 ASSERT_EQ(info.perf_event.kprobe.name_len, strlen(KPROBE_FUNC) + 1, in verify_perf_link_info() 72 if (!info.perf_event.kprobe.func_name) { in verify_perf_link_info() 73 info.perf_event.kprobe.func_name = ptr_to_u64(&buf); in verify_perf_link_info() 74 info.perf_event.kprobe.name_len = sizeof(buf); in verify_perf_link_info() 78 err = strncmp(u64_to_ptr(info.perf_event.kprobe.func_name), KPROBE_FUNC, in verify_perf_link_info() [all …]
|
/linux/arch/x86/include/asm/ |
H A D | hw_breakpoint.h | 50 struct perf_event; 54 extern int hw_breakpoint_arch_parse(struct perf_event *bp, 61 int arch_install_hw_breakpoint(struct perf_event *bp); 62 void arch_uninstall_hw_breakpoint(struct perf_event *bp); 63 void hw_breakpoint_pmu_read(struct perf_event *bp); 64 void hw_breakpoint_pmu_unthrottle(struct perf_event *bp); 67 arch_fill_perf_breakpoint(struct perf_event *bp);
|
/linux/kernel/trace/ |
H A D | trace_event_perf.c | 28 struct perf_event *p_event) in perf_trace_event_perm() 97 struct perf_event *p_event) in perf_trace_event_reg() 154 static void perf_trace_event_unreg(struct perf_event *p_event) in perf_trace_event_unreg() 181 static int perf_trace_event_open(struct perf_event *p_event) in perf_trace_event_open() 187 static void perf_trace_event_close(struct perf_event *p_event) in perf_trace_event_close() 194 struct perf_event *p_event) in perf_trace_event_init() 215 int perf_trace_init(struct perf_event *p_event) in perf_trace_init() 237 void perf_trace_destroy(struct perf_event *p_event) in perf_trace_destroy() 247 int perf_kprobe_init(struct perf_event *p_event, bool is_retprobe) in perf_kprobe_init() 285 void perf_kprobe_destroy(struct perf_event *p_event) in perf_kprobe_destroy() [all …]
|
/linux/arch/powerpc/kernel/ |
H A D | hw_breakpoint.c | 34 static DEFINE_PER_CPU(struct perf_event *, bp_per_reg[HBP_NUM_MAX]); 56 int arch_install_hw_breakpoint(struct perf_event *bp) in arch_install_hw_breakpoint() 59 struct perf_event **slot; in arch_install_hw_breakpoint() 92 void arch_uninstall_hw_breakpoint(struct perf_event *bp) in arch_uninstall_hw_breakpoint() 95 struct perf_event **slot; in arch_uninstall_hw_breakpoint() 112 static bool is_ptrace_bp(struct perf_event *bp) in is_ptrace_bp() 187 int hw_breakpoint_arch_parse(struct perf_event *bp, in hw_breakpoint_arch_parse() 236 struct perf_event *bp = __this_cpu_read(bp_per_reg[i]); in thread_change_pc() 269 static void handler_error(struct perf_event *bp) in handler_error() 276 static void larx_stcx_err(struct perf_event *bp) in larx_stcx_err() [all …]
|
/linux/arch/riscv/kvm/ |
H A D | vcpu_pmu.c | 80 if (pmc->perf_event) { in kvm_pmu_release_perf_event() 81 perf_event_disable(pmc->perf_event); in kvm_pmu_release_perf_event() 82 perf_event_release_kernel(pmc->perf_event); in kvm_pmu_release_perf_event() 83 pmc->perf_event = NULL; in kvm_pmu_release_perf_event() 248 } else if (pmc->perf_event) { in pmu_ctr_read() 249 pmc->counter_val += perf_event_read_value(pmc->perf_event, &enabled, &running); in pmu_ctr_read() 268 static void kvm_riscv_pmu_overflow(struct perf_event *perf_event, in kvm_riscv_pmu_overflow() argument 272 struct kvm_pmc *pmc = perf_event->overflow_handler_context; in kvm_riscv_pmu_overflow() 275 struct riscv_pmu *rpmu = to_riscv_pmu(perf_event->pmu); in kvm_riscv_pmu_overflow() 285 rpmu->pmu.stop(perf_event, PERF_EF_UPDATE); in kvm_riscv_pmu_overflow() [all …]
|
/linux/arch/sh/include/asm/ |
H A D | hw_breakpoint.h | 44 struct perf_event; 57 extern int hw_breakpoint_arch_parse(struct perf_event *bp, 63 int arch_install_hw_breakpoint(struct perf_event *bp); 64 void arch_uninstall_hw_breakpoint(struct perf_event *bp); 65 void hw_breakpoint_pmu_read(struct perf_event *bp); 67 extern void arch_fill_perf_breakpoint(struct perf_event *bp);
|
/linux/arch/alpha/kernel/ |
H A D | perf_event.c | 41 struct perf_event *event[MAX_HWEVENTS]; 86 int (*check_constraints)(struct perf_event **, unsigned long *, int); 152 static int ev67_check_constraints(struct perf_event **event, in ev67_check_constraints() 252 static int alpha_perf_event_set_period(struct perf_event *event, in alpha_perf_event_set_period() 307 static unsigned long alpha_perf_event_update(struct perf_event *event, in alpha_perf_event_update() 340 static int collect_events(struct perf_event *group, int max_count, in collect_events() 341 struct perf_event *event[], unsigned long *evtype, in collect_events() 344 struct perf_event *pe; in collect_events() 371 static int alpha_check_constraints(struct perf_event **events, in alpha_check_constraints() 400 struct perf_event *pe = cpuc->event[j]; in maybe_change_configuration() [all …]
|
/linux/tools/perf/tests/ |
H A D | parse-no-sample-id-all.c | 13 static int process_event(struct evlist **pevlist, union perf_event *event) in process_event() 39 static int process_events(union perf_event **events, size_t count) in process_events() 96 union perf_event *events[] = { in test__parse_no_sample_id_all() 97 (union perf_event *)&event1, in test__parse_no_sample_id_all() 98 (union perf_event *)&event2, in test__parse_no_sample_id_all() 99 (union perf_event *)&event3, in test__parse_no_sample_id_all()
|
/linux/arch/xtensa/include/asm/ |
H A D | hw_breakpoint.h | 34 struct perf_event; 40 int hw_breakpoint_arch_parse(struct perf_event *bp, 46 int arch_install_hw_breakpoint(struct perf_event *bp); 47 void arch_uninstall_hw_breakpoint(struct perf_event *bp); 48 void hw_breakpoint_pmu_read(struct perf_event *bp);
|
/linux/kernel/ |
H A D | watchdog_perf.c | 23 static DEFINE_PER_CPU(struct perf_event *, watchdog_ev); 24 static DEFINE_PER_CPU(struct perf_event *, dead_event); 106 static void watchdog_overflow_callback(struct perf_event *event, in watchdog_overflow_callback() 123 struct perf_event *evt; in hardlockup_detector_event_create() 178 struct perf_event *event = this_cpu_read(watchdog_ev); in watchdog_hardlockup_disable() 201 struct perf_event *event = per_cpu(dead_event, cpu); in hardlockup_detector_perf_cleanup() 226 struct perf_event *event = per_cpu(watchdog_ev, cpu); in hardlockup_detector_perf_stop() 248 struct perf_event *event = per_cpu(watchdog_ev, cpu); in hardlockup_detector_perf_restart()
|