Subject: Re: [PATCH net-next 1/3] perf: generalize perf_callchain

From: Alexei Starovoitov <[email-masked]>
Date: Thu, 25 Feb 2016 08:37:34 -0800

On 2/25/16 6:18 AM, Peter Zijlstra wrote:
> On Wed, Feb 17, 2016 at 07:58:57PM -0800, Alexei Starovoitov wrote:
>> . avoid walking the stack when there is no room left in the buffer
>> . generalize get_perf_callchain() to be called from bpf helper
>
> If it does two things it should be two patches.

could have been two patches, but it will only add more churn
to the same lines. what's the concern?

>> Signed-off-by: Alexei Starovoitov <[email-masked]>
>> ---
>>   arch/x86/include/asm/stacktrace.h |  2 +-
>>   arch/x86/kernel/cpu/perf_event.c  |  4 ++--
>>   arch/x86/kernel/dumpstack.c       |  6 ++++--
>>   arch/x86/kernel/stacktrace.c      | 18 +++++++++++-------
>>   arch/x86/oprofile/backtrace.c     |  3 ++-
>>   include/linux/perf_event.h        | 13 +++++++++++--
>>   kernel/events/callchain.c         | 32 ++++++++++++++++++++------------
>>   kernel/events/internal.h          |  2 --
>>   8 files changed, 51 insertions(+), 29 deletions(-)
>
> And at the very least this should have had a note that it doesn't break
> all the other archs that implement perf-callchain stuff.

the cross-arch interface is two weak functions
perf_callchain_kernel() and perf_callchain_user()
and back into generic via perf_callchain_store().
Nothing changes there. The code speaks for itself.
"non-x86 archs are not broken" would be a silly comment.