netdev.vger.kernel.org archive mirror
 help / color / mirror / Atom feed
From: Arnaldo Carvalho de Melo <acme@kernel.org>
To: Song Liu <songliubraving@fb.com>
Cc: Jiri Olsa <jolsa@kernel.org>,
	Stephane Eranian <eranian@google.com>,
	Netdev <netdev@vger.kernel.org>,
	linux-kernel <linux-kernel@vger.kernel.org>,
	Alexei Starovoitov <ast@kernel.org>,
	"daniel@iogearbox.net" <daniel@iogearbox.net>,
	Kernel Team <Kernel-team@fb.com>,
	"peterz@infradead.org" <peterz@infradead.org>,
	"namhyung@kernel.org" <namhyung@kernel.org>
Subject: Re: [PATCH v2 perf,bpf 08/11] perf, bpf: save btf information as headers to perf.data
Date: Fri, 15 Feb 2019 15:20:47 -0300	[thread overview]
Message-ID: <20190215182047.GL31177@kernel.org> (raw)
In-Reply-To: <847940EC-6E2A-4985-AE19-27758C301B5D@fb.com>

Em Fri, Feb 15, 2019 at 05:47:58PM +0000, Song Liu escreveu:
> 
> 
> > On Feb 15, 2019, at 9:40 AM, Arnaldo Carvalho de Melo <acme@kernel.org> wrote:
> > 
> > Em Fri, Feb 15, 2019 at 05:25:01PM +0000, Song Liu escreveu:
> >>> On Feb 15, 2019, at 6:26 AM, Arnaldo Carvalho de Melo <acme@redhat.com> wrote:
> >>> Em Thu, Feb 14, 2019 at 04:00:09PM -0800, Song Liu escreveu:
> >>>> This patch enables perf-record to save btf information as headers to
> >>>> perf.data A new header type HEADER_BTF is introduced for this data.
> > 
> >>> 	Wouldn't it be better for this HEADER_BTF to be introduced
> >>> already as an user space event, Song, see:
> > 
> >>> tools/perf/util/event.h
> > 
> >>> and:
> > 
> >>> tools/perf/util/event.c
> > 
> >>> perf_event__synthesize_cpu_map()
> > 
> >> BTF would be short living for short living BPF programs. I guess 
> >> saving them as header is easier than merging them with samples. 
> > 
> >> What's the benefit of saving them as user space events?
> > 
> > When we work with pipe mode, i.e.:
> > 
> > 	perf record -o - | perf report -i -
> > 
> > and other combinations (with 'perf script', 'perf inject', etc), we need
> > a way to pass the headers to the other side, and the way was via user
> > space events.
> > 
> > This is something Stephane and Jiri have been discussing recently,
> > probably they have more justifications, Stephane, Jiri?
> > 
> > - Arnaldo
> 
> I see. In this case, we will need some synchronization between main
> thread and the polling thread, as they are both writing to the same
> pipe. 

So, the whole context is that we need to have 'perf record' to start a
thread per CPU and then read the already per-cpu mmap buffers in the
matching thread, with the right affinity, numa settings to have the
record phase not cause contention, etc, so it ends up dumping one stream
per CPU in a separate file in a 'perf.data' directory instead of a
perf.data file.

Jiri is working on that, so, if you dump one more stream into that
directory, it would, at post processing time, be ordered together with
the other stream, the per-cpu ones.

- Arnaldo

  reply	other threads:[~2019-02-15 18:20 UTC|newest]

Thread overview: 31+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2019-02-14 23:56 [PATCH v2 perf,bpf 00/11] perf annotation of BPF programs Song Liu
2019-02-14 23:58 ` [PATCH v2 perf,bpf 01/11] perf, bpf: consider events with attr.bpf_event as side-band events Song Liu
2019-02-15 14:14   ` Arnaldo Carvalho de Melo
2019-02-15 17:02     ` Song Liu
2019-02-15 18:04       ` Arnaldo Carvalho de Melo
2019-02-15  0:00 ` [PATCH v2 perf,bpf 02/11] bpf: libbpf: introduce bpf_program__get_prog_info_linear() Song Liu
2019-02-15  0:00   ` [PATCH v2 perf,bpf 03/11] bpf: bpftool: use bpf_program__get_prog_info_linear() in prog.c:do_dump() Song Liu
2019-02-15  0:00   ` [PATCH v2 perf,bpf 04/11] perf, bpf: synthesize bpf events with bpf_program__get_prog_info_linear() Song Liu
2019-02-15  0:00   ` [PATCH v2 perf,bpf 05/11] perf, bpf: save bpf_prog_info in a rbtree in perf_env Song Liu
2019-02-15 14:21     ` Arnaldo Carvalho de Melo
2019-02-15 17:04       ` Song Liu
2019-02-15  0:00   ` [PATCH v2 perf,bpf 06/11] perf, bpf: save bpf_prog_info information as headers to perf.data Song Liu
2019-02-15  0:00   ` [PATCH v2 perf,bpf 07/11] perf, bpf: save btf in a rbtree in perf_env Song Liu
2019-02-15 14:30     ` Arnaldo Carvalho de Melo
2019-02-15  0:00   ` [PATCH v2 perf,bpf 08/11] perf, bpf: save btf information as headers to perf.data Song Liu
2019-02-15 14:26     ` Arnaldo Carvalho de Melo
2019-02-15 17:25       ` Song Liu
2019-02-15 17:40         ` Arnaldo Carvalho de Melo
2019-02-15 17:47           ` Song Liu
2019-02-15 18:20             ` Arnaldo Carvalho de Melo [this message]
2019-02-15 18:59               ` Song Liu
2019-02-15  0:00   ` [PATCH v2 perf,bpf 09/11] perf-top: add option --bpf-event Song Liu
2019-02-15 14:27     ` Arnaldo Carvalho de Melo
2019-02-15 17:06       ` Song Liu
2019-02-15 18:05         ` Arnaldo Carvalho de Melo
2019-02-15  0:00 ` [PATCH v2 perf,bpf 10/11] perf, bpf: enable annotation of bpf program Song Liu
2019-02-15  0:00   ` [PATCH v2 perf,bpf 11/11] perf, bpf: save information about short living bpf programs Song Liu
2019-02-15 14:41     ` Arnaldo Carvalho de Melo
2019-02-15 17:13       ` Song Liu
2019-02-15 18:09         ` Arnaldo Carvalho de Melo
2019-02-15 18:13           ` 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=20190215182047.GL31177@kernel.org \
    --to=acme@kernel.org \
    --cc=Kernel-team@fb.com \
    --cc=ast@kernel.org \
    --cc=daniel@iogearbox.net \
    --cc=eranian@google.com \
    --cc=jolsa@kernel.org \
    --cc=linux-kernel@vger.kernel.org \
    --cc=namhyung@kernel.org \
    --cc=netdev@vger.kernel.org \
    --cc=peterz@infradead.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 a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox;
as well as URLs for NNTP newsgroup(s).