Skip to content

Commit 76f6d58

Browse files
khueyIngo Molnar
authored andcommitted
perf/bpf: Remove unneeded uses_default_overflow_handler()
Now that struct perf_event's orig_overflow_handler is gone, there's no need for the functions and macros to support looking past overflow_handler to orig_overflow_handler. This patch is solely a refactoring and results in no behavior change. Signed-off-by: Kyle Huey <[email protected]> Signed-off-by: Ingo Molnar <[email protected]> Acked-by: Will Deacon <[email protected]> Acked-by: Song Liu <[email protected]> Acked-by: Jiri Olsa <[email protected]> Acked-by: Andrii Nakryiko <[email protected]> Link: https://lore.kernel.org/r/[email protected]
1 parent f11f10b commit 76f6d58

File tree

3 files changed

+9
-20
lines changed

3 files changed

+9
-20
lines changed

arch/arm/kernel/hw_breakpoint.c

Lines changed: 4 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -626,7 +626,7 @@ int hw_breakpoint_arch_parse(struct perf_event *bp,
626626
hw->address &= ~alignment_mask;
627627
hw->ctrl.len <<= offset;
628628

629-
if (uses_default_overflow_handler(bp)) {
629+
if (is_default_overflow_handler(bp)) {
630630
/*
631631
* Mismatch breakpoints are required for single-stepping
632632
* breakpoints.
@@ -798,7 +798,7 @@ static void watchpoint_handler(unsigned long addr, unsigned int fsr,
798798
* Otherwise, insert a temporary mismatch breakpoint so that
799799
* we can single-step over the watchpoint trigger.
800800
*/
801-
if (!uses_default_overflow_handler(wp))
801+
if (!is_default_overflow_handler(wp))
802802
continue;
803803
step:
804804
enable_single_step(wp, instruction_pointer(regs));
@@ -811,7 +811,7 @@ static void watchpoint_handler(unsigned long addr, unsigned int fsr,
811811
info->trigger = addr;
812812
pr_debug("watchpoint fired: address = 0x%x\n", info->trigger);
813813
perf_bp_event(wp, regs);
814-
if (uses_default_overflow_handler(wp))
814+
if (is_default_overflow_handler(wp))
815815
enable_single_step(wp, instruction_pointer(regs));
816816
}
817817

@@ -886,7 +886,7 @@ static void breakpoint_handler(unsigned long unknown, struct pt_regs *regs)
886886
info->trigger = addr;
887887
pr_debug("breakpoint fired: address = 0x%x\n", addr);
888888
perf_bp_event(bp, regs);
889-
if (uses_default_overflow_handler(bp))
889+
if (is_default_overflow_handler(bp))
890890
enable_single_step(bp, addr);
891891
goto unlock;
892892
}

arch/arm64/kernel/hw_breakpoint.c

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -655,7 +655,7 @@ static int breakpoint_handler(unsigned long unused, unsigned long esr,
655655
perf_bp_event(bp, regs);
656656

657657
/* Do we need to handle the stepping? */
658-
if (uses_default_overflow_handler(bp))
658+
if (is_default_overflow_handler(bp))
659659
step = 1;
660660
unlock:
661661
rcu_read_unlock();
@@ -734,7 +734,7 @@ static u64 get_distance_from_watchpoint(unsigned long addr, u64 val,
734734
static int watchpoint_report(struct perf_event *wp, unsigned long addr,
735735
struct pt_regs *regs)
736736
{
737-
int step = uses_default_overflow_handler(wp);
737+
int step = is_default_overflow_handler(wp);
738738
struct arch_hw_breakpoint *info = counter_arch_bp(wp);
739739

740740
info->trigger = addr;

include/linux/perf_event.h

Lines changed: 3 additions & 14 deletions
Original file line numberDiff line numberDiff line change
@@ -1345,28 +1345,17 @@ extern int perf_event_output(struct perf_event *event,
13451345
struct pt_regs *regs);
13461346

13471347
static inline bool
1348-
__is_default_overflow_handler(perf_overflow_handler_t overflow_handler)
1348+
is_default_overflow_handler(struct perf_event *event)
13491349
{
1350+
perf_overflow_handler_t overflow_handler = event->overflow_handler;
1351+
13501352
if (likely(overflow_handler == perf_event_output_forward))
13511353
return true;
13521354
if (unlikely(overflow_handler == perf_event_output_backward))
13531355
return true;
13541356
return false;
13551357
}
13561358

1357-
#define is_default_overflow_handler(event) \
1358-
__is_default_overflow_handler((event)->overflow_handler)
1359-
1360-
#ifdef CONFIG_BPF_SYSCALL
1361-
static inline bool uses_default_overflow_handler(struct perf_event *event)
1362-
{
1363-
return is_default_overflow_handler(event);
1364-
}
1365-
#else
1366-
#define uses_default_overflow_handler(event) \
1367-
is_default_overflow_handler(event)
1368-
#endif
1369-
13701359
extern void
13711360
perf_event_header__init_id(struct perf_event_header *header,
13721361
struct perf_sample_data *data,

0 commit comments

Comments
 (0)