Message ID | 20240904204133.1442132-2-coltonlewis@google.com (mailing list archive) |
---|---|
State | New, archived |
Headers | show |
Series | Correct perf sampling with guest VMs | expand |
On Wed, Sep 04, 2024 at 08:41:29PM +0000, Colton Lewis wrote: > perf_instruction_pointer() and perf_misc_flags() aren't used anywhere > in this particular perf implementation. Drop them. I think it'd be better to say that arch/arm's implementation of these is equivalent to the generic versions in include/linux/perf_event.h, and so arch/arm doesn't need to provide its own versions. It doesn't matter if arch/arm uses them itself since they're being provided for the core perf code. With words to that effect: Acked-by: Mark Rutland <mark.rutland@arm.com> Mark. > > Signed-off-by: Colton Lewis <coltonlewis@google.com> > --- > arch/arm/include/asm/perf_event.h | 7 ------- > arch/arm/kernel/perf_callchain.c | 17 ----------------- > 2 files changed, 24 deletions(-) > > diff --git a/arch/arm/include/asm/perf_event.h b/arch/arm/include/asm/perf_event.h > index bdbc1e590891..c08f16f2e243 100644 > --- a/arch/arm/include/asm/perf_event.h > +++ b/arch/arm/include/asm/perf_event.h > @@ -8,13 +8,6 @@ > #ifndef __ARM_PERF_EVENT_H__ > #define __ARM_PERF_EVENT_H__ > > -#ifdef CONFIG_PERF_EVENTS > -struct pt_regs; > -extern unsigned long perf_instruction_pointer(struct pt_regs *regs); > -extern unsigned long perf_misc_flags(struct pt_regs *regs); > -#define perf_misc_flags(regs) perf_misc_flags(regs) > -#endif > - > #define perf_arch_fetch_caller_regs(regs, __ip) { \ > (regs)->ARM_pc = (__ip); \ > frame_pointer((regs)) = (unsigned long) __builtin_frame_address(0); \ > diff --git a/arch/arm/kernel/perf_callchain.c b/arch/arm/kernel/perf_callchain.c > index 1d230ac9d0eb..a2601b1ef318 100644 > --- a/arch/arm/kernel/perf_callchain.c > +++ b/arch/arm/kernel/perf_callchain.c > @@ -96,20 +96,3 @@ perf_callchain_kernel(struct perf_callchain_entry_ctx *entry, struct pt_regs *re > arm_get_current_stackframe(regs, &fr); > walk_stackframe(&fr, callchain_trace, entry); > } > - > -unsigned long perf_instruction_pointer(struct pt_regs *regs) > -{ > - return instruction_pointer(regs); > -} > - > -unsigned long perf_misc_flags(struct pt_regs *regs) > -{ > - int misc = 0; > - > - if (user_mode(regs)) > - misc |= PERF_RECORD_MISC_USER; > - else > - misc |= PERF_RECORD_MISC_KERNEL; > - > - return misc; > -} > -- > 2.46.0.469.g59c65b2a67-goog >
diff --git a/arch/arm/include/asm/perf_event.h b/arch/arm/include/asm/perf_event.h index bdbc1e590891..c08f16f2e243 100644 --- a/arch/arm/include/asm/perf_event.h +++ b/arch/arm/include/asm/perf_event.h @@ -8,13 +8,6 @@ #ifndef __ARM_PERF_EVENT_H__ #define __ARM_PERF_EVENT_H__ -#ifdef CONFIG_PERF_EVENTS -struct pt_regs; -extern unsigned long perf_instruction_pointer(struct pt_regs *regs); -extern unsigned long perf_misc_flags(struct pt_regs *regs); -#define perf_misc_flags(regs) perf_misc_flags(regs) -#endif - #define perf_arch_fetch_caller_regs(regs, __ip) { \ (regs)->ARM_pc = (__ip); \ frame_pointer((regs)) = (unsigned long) __builtin_frame_address(0); \ diff --git a/arch/arm/kernel/perf_callchain.c b/arch/arm/kernel/perf_callchain.c index 1d230ac9d0eb..a2601b1ef318 100644 --- a/arch/arm/kernel/perf_callchain.c +++ b/arch/arm/kernel/perf_callchain.c @@ -96,20 +96,3 @@ perf_callchain_kernel(struct perf_callchain_entry_ctx *entry, struct pt_regs *re arm_get_current_stackframe(regs, &fr); walk_stackframe(&fr, callchain_trace, entry); } - -unsigned long perf_instruction_pointer(struct pt_regs *regs) -{ - return instruction_pointer(regs); -} - -unsigned long perf_misc_flags(struct pt_regs *regs) -{ - int misc = 0; - - if (user_mode(regs)) - misc |= PERF_RECORD_MISC_USER; - else - misc |= PERF_RECORD_MISC_KERNEL; - - return misc; -}
perf_instruction_pointer() and perf_misc_flags() aren't used anywhere in this particular perf implementation. Drop them. Signed-off-by: Colton Lewis <coltonlewis@google.com> --- arch/arm/include/asm/perf_event.h | 7 ------- arch/arm/kernel/perf_callchain.c | 17 ----------------- 2 files changed, 24 deletions(-)