All of lore.kernel.org
 help / color / mirror / Atom feed
From: Peter Zijlstra <peterz@infradead.org>
To: Song Liu <songliubraving@fb.com>
Cc: netdev@vger.kernel.org, linux-kernel@vger.kernel.org,
	ast@kernel.org, daniel@iogearbox.net, acme@kernel.org,
	kernel-team@fb.com
Subject: Re: [PATCH perf,bpf 0/5] reveal invisible bpf programs
Date: Thu, 22 Nov 2018 10:32:19 +0100	[thread overview]
Message-ID: <20181122093219.GK2131@hirez.programming.kicks-ass.net> (raw)
In-Reply-To: <20181121195502.3259930-1-songliubraving@fb.com>

On Wed, Nov 21, 2018 at 11:54:57AM -0800, Song Liu wrote:
> Changes RFC -> PATCH v1:
> 
> 1. In perf-record, poll vip events in a separate thread;
> 2. Add tag to bpf prog name;
> 3. Small refactorings.
> 
> Original cover letter (with minor revisions):
> 
> This is to follow up Alexei's early effort to show bpf programs
> 
>    https://www.spinics.net/lists/netdev/msg524232.html
> 
> In this version, PERF_RECORD_BPF_EVENT is introduced to send real time BPF
> load/unload events to user space. In user space, perf-record is modified
> to listen to these events (through a dedicated ring buffer) and generate
> detailed information about the program (struct bpf_prog_info_event). Then,
> perf-report translates these events into proper symbols.
> 
> With this set, perf-report will show bpf program as:
> 
>    18.49%     0.16%  test  [kernel.vmlinux]    [k] ksys_write
>    18.01%     0.47%  test  [kernel.vmlinux]    [k] vfs_write
>    17.02%     0.40%  test  bpf_prog            [k] bpf_prog_07367f7ba80df72b_
>    16.97%     0.10%  test  [kernel.vmlinux]    [k] __vfs_write
>    16.86%     0.12%  test  [kernel.vmlinux]    [k] comm_write
>    16.67%     0.39%  test  [kernel.vmlinux]    [k] bpf_probe_read
> 
> Note that, the program name is still work in progress, it will be cleaner
> with function types in BTF.
> 
> Please share your comments on this.

So I see:

  kernel/bpf/core.c:void bpf_prog_kallsyms_add(struct bpf_prog *fp)

which should already provide basic symbol information for extant eBPF
programs, right?

And (AFAIK) perf uses /proc/kcore for annotate on the current running
kernel (if not, it really should, given alternatives, jump_labels and
all other other self-modifying code).

So this fancy new stuff is only for the case where your profile spans
eBPF load/unload events (which should be relatively rare in the normal
case, right), or when you want source annotated asm output (I normally
don't bother with that).

That is; I would really like this fancy stuff to be an optional extra
that is typically not needed.

Does that make sense?


  parent reply	other threads:[~2018-11-22  9:32 UTC|newest]

Thread overview: 18+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2018-11-21 19:54 [PATCH perf,bpf 0/5] reveal invisible bpf programs Song Liu
2018-11-21 19:54 ` [PATCH perf,bpf 1/5] perf, bpf: Introduce PERF_RECORD_BPF_EVENT Song Liu
2018-11-21 19:54 ` [PATCH perf,bpf 2/5] perf: sync tools/include/uapi/linux/perf_event.h Song Liu
2018-11-21 19:55 ` [PATCH perf,bpf 3/5] perf util: basic handling of PERF_RECORD_BPF_EVENT Song Liu
2018-11-21 19:55 ` [PATCH perf,bpf 4/5] perf util: introduce bpf_prog_info_event Song Liu
2018-11-21 19:55 ` [PATCH perf,bpf 5/5] perf util: generate bpf_prog_info_event for short living bpf programs Song Liu
2018-11-21 22:11   ` Alexei Starovoitov
2018-11-21 22:35     ` Song Liu
2018-11-21 22:49       ` Alexei Starovoitov
2018-11-24 22:17     ` David Ahern
2018-11-22  9:32 ` Peter Zijlstra [this message]
2018-11-22 18:13   ` [PATCH perf,bpf 0/5] reveal invisible " Song Liu
2018-11-26 14:50     ` Peter Zijlstra
2018-11-26 15:27       ` Arnaldo Carvalho de Melo
2018-11-27 19:21         ` Song Liu
2018-11-26 20:00       ` Song Liu
2018-11-27 19:04         ` Song Liu
2018-11-27 19:25       ` Song Liu

Reply instructions:

You may reply publicly to this message via plain-text email
using any one of the following methods:

* Save the following mbox file, import it into your mail client,
  and reply-to-all from there: mbox

  Avoid top-posting and favor interleaved quoting:
  https://en.wikipedia.org/wiki/Posting_style#Interleaved_style

* Reply using the --to, --cc, and --in-reply-to
  switches of git-send-email(1):

  git send-email \
    --in-reply-to=20181122093219.GK2131@hirez.programming.kicks-ass.net \
    --to=peterz@infradead.org \
    --cc=acme@kernel.org \
    --cc=ast@kernel.org \
    --cc=daniel@iogearbox.net \
    --cc=kernel-team@fb.com \
    --cc=linux-kernel@vger.kernel.org \
    --cc=netdev@vger.kernel.org \
    --cc=songliubraving@fb.com \
    /path/to/YOUR_REPLY

  https://kernel.org/pub/software/scm/git/docs/git-send-email.html

* If your mail client supports setting the In-Reply-To header
  via mailto: links, try the mailto: link
Be sure your reply has a Subject: header at the top and a blank line before the message body.
This is an external index of several public inboxes,
see mirroring instructions on how to clone and mirror
all data and code used by this external index.