[PATCH 4/5] x86: perf: Refactor misc flag assignments
Colton Lewis
coltonlewis at google.com
Thu Sep 12 08:05:35 AEST 2024
Ingo Molnar <mingo at kernel.org> writes:
> * Colton Lewis <coltonlewis at google.com> wrote:
>> Break the assignment logic for misc flags into their own respective
>> functions to reduce the complexity of the nested logic.
>> Signed-off-by: Colton Lewis <coltonlewis at google.com>
>> ---
>> arch/x86/events/core.c | 31 +++++++++++++++++++++++--------
>> arch/x86/include/asm/perf_event.h | 2 ++
>> 2 files changed, 25 insertions(+), 8 deletions(-)
>> diff --git a/arch/x86/events/core.c b/arch/x86/events/core.c
>> index 760ad067527c..87457e5d7f65 100644
>> --- a/arch/x86/events/core.c
>> +++ b/arch/x86/events/core.c
>> @@ -2948,16 +2948,34 @@ unsigned long
>> perf_arch_instruction_pointer(struct pt_regs *regs)
>> return regs->ip + code_segment_base(regs);
>> }
>> +static unsigned long common_misc_flags(struct pt_regs *regs)
>> +{
>> + if (regs->flags & PERF_EFLAGS_EXACT)
>> + return PERF_RECORD_MISC_EXACT_IP;
>> +
>> + return 0;
>> +}
>> +
>> +unsigned long perf_arch_guest_misc_flags(struct pt_regs *regs)
>> +{
>> + unsigned long guest_state = perf_guest_state();
>> + unsigned long flags = common_misc_flags();
>> +
>> + if (guest_state & PERF_GUEST_USER)
>> + flags |= PERF_RECORD_MISC_GUEST_USER;
>> + else if (guest_state & PERF_GUEST_ACTIVE)
>> + flags |= PERF_RECORD_MISC_GUEST_KERNEL;
>> +
>> + return flags;
>> +}
>> +
>> unsigned long perf_arch_misc_flags(struct pt_regs *regs)
>> {
>> unsigned int guest_state = perf_guest_state();
>> - int misc = 0;
>> + unsigned long misc = common_misc_flags();
> So I'm quite sure this won't even build at this point ...
Must have been a wrongly resolved conflict after rebase. I had thought I
rebuilt before sending but something slipped.
It's fixed
> Thanks,
> Ingo
More information about the Linuxppc-dev
mailing list