Groups | Search | Server Info | Keyboard shortcuts | Login | Register [http] [https] [nntp] [nntps]


Groups > linux.kernel > #1343193 > unrolled thread

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

Started byPeter Zijlstra <peterz@infradead.org>
First post2016-02-25 15:20 +0100
Last post2016-02-25 17:50 +0100
Articles 4 — 2 participants

Back to article view | Back to linux.kernel

This discussion starts older than the indexed window; earlier articles aren't shown. The article labeled Started by below is the oldest one visible, not the original post.


Contents

  Re: [PATCH net-next 1/3] perf: generalize perf_callchain Peter Zijlstra <peterz@infradead.org> - 2016-02-25 15:20 +0100
    Re: [PATCH net-next 1/3] perf: generalize perf_callchain Alexei Starovoitov <ast@fb.com> - 2016-02-25 17:40 +0100
      Re: [PATCH net-next 1/3] perf: generalize perf_callchain Peter Zijlstra <peterz@infradead.org> - 2016-02-25 17:50 +0100
      Re: [PATCH net-next 1/3] perf: generalize perf_callchain Peter Zijlstra <peterz@infradead.org> - 2016-02-25 17:50 +0100

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

FromPeter Zijlstra <peterz@infradead.org>
Date2016-02-25 15:20 +0100
SubjectRe: [PATCH net-next 1/3] perf: generalize perf_callchain
Message-ID<r64VR-50x-39@gated-at.bofh.it>
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.

> Signed-off-by: Alexei Starovoitov <ast@kernel.org>
> ---
>  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.

[toc] | [next] | [standalone]


#1343305

FromAlexei Starovoitov <ast@fb.com>
Date2016-02-25 17:40 +0100
Message-ID<r677k-6vJ-25@gated-at.bofh.it>
In reply to#1343193
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@kernel.org>
>> ---
>>   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.

[toc] | [prev] | [next] | [standalone]


#1343308

FromPeter Zijlstra <peterz@infradead.org>
Date2016-02-25 17:50 +0100
Message-ID<r67h0-6Ay-5@gated-at.bofh.it>
In reply to#1343305
On Thu, Feb 25, 2016 at 08:37:34AM -0800, Alexei Starovoitov wrote:
> 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?

It makes review easier, shows which modification is for what purpose.

Also the changelog really needs more; it should for example explain what
BPF needs from the callchain code, and preferably why.

[toc] | [prev] | [next] | [standalone]


#1343312

FromPeter Zijlstra <peterz@infradead.org>
Date2016-02-25 17:50 +0100
Message-ID<r67h0-6Ay-15@gated-at.bofh.it>
In reply to#1343305
On Thu, Feb 25, 2016 at 08:37:34AM -0800, Alexei Starovoitov wrote:
> On 2/25/16 6:18 AM, Peter Zijlstra wrote:

> >>  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.

No, a diffstat like that immediately makes me wonder if you've even
bothered looking at !x86.

A statement to this effect would've shown you did indeed consider it.

[toc] | [prev] | [standalone]


Back to top | Article view | linux.kernel


csiph-web