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

From: Alexei Starovoitov
Date: Thu Feb 25 2016 - 11:38:50 EST


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 <ast@xxxxxxxxxx>
---
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.