Loading include/linux/perf_event.h +11 −9 Original line number Diff line number Diff line Loading @@ -1012,19 +1012,21 @@ static inline void perf_fetch_caller_regs(struct pt_regs *regs) perf_arch_fetch_caller_regs(regs, CALLER_ADDR0); } static inline void static __always_inline void perf_sw_event(u32 event_id, u64 nr, int nmi, struct pt_regs *regs, u64 addr) { if (atomic_read(&perf_swevent_enabled[event_id])) { struct pt_regs hot_regs; JUMP_LABEL(&perf_swevent_enabled[event_id], have_event); return; have_event: if (!regs) { perf_fetch_caller_regs(&hot_regs); regs = &hot_regs; } __perf_sw_event(event_id, nr, nmi, regs, addr); } } extern void perf_event_mmap(struct vm_area_struct *vma); extern struct perf_guest_info_callbacks *perf_guest_cbs; Loading kernel/perf_event.c +2 −2 Original line number Diff line number Diff line Loading @@ -4669,7 +4669,7 @@ static void sw_perf_event_destroy(struct perf_event *event) WARN_ON(event->parent); atomic_dec(&perf_swevent_enabled[event_id]); jump_label_dec(&perf_swevent_enabled[event_id]); swevent_hlist_put(event); } Loading Loading @@ -4699,7 +4699,7 @@ static int perf_swevent_init(struct perf_event *event) if (err) return err; atomic_inc(&perf_swevent_enabled[event_id]); jump_label_inc(&perf_swevent_enabled[event_id]); event->destroy = sw_perf_event_destroy; } Loading Loading
include/linux/perf_event.h +11 −9 Original line number Diff line number Diff line Loading @@ -1012,19 +1012,21 @@ static inline void perf_fetch_caller_regs(struct pt_regs *regs) perf_arch_fetch_caller_regs(regs, CALLER_ADDR0); } static inline void static __always_inline void perf_sw_event(u32 event_id, u64 nr, int nmi, struct pt_regs *regs, u64 addr) { if (atomic_read(&perf_swevent_enabled[event_id])) { struct pt_regs hot_regs; JUMP_LABEL(&perf_swevent_enabled[event_id], have_event); return; have_event: if (!regs) { perf_fetch_caller_regs(&hot_regs); regs = &hot_regs; } __perf_sw_event(event_id, nr, nmi, regs, addr); } } extern void perf_event_mmap(struct vm_area_struct *vma); extern struct perf_guest_info_callbacks *perf_guest_cbs; Loading
kernel/perf_event.c +2 −2 Original line number Diff line number Diff line Loading @@ -4669,7 +4669,7 @@ static void sw_perf_event_destroy(struct perf_event *event) WARN_ON(event->parent); atomic_dec(&perf_swevent_enabled[event_id]); jump_label_dec(&perf_swevent_enabled[event_id]); swevent_hlist_put(event); } Loading Loading @@ -4699,7 +4699,7 @@ static int perf_swevent_init(struct perf_event *event) if (err) return err; atomic_inc(&perf_swevent_enabled[event_id]); jump_label_inc(&perf_swevent_enabled[event_id]); event->destroy = sw_perf_event_destroy; } Loading