lists.openwall.net   lists  /  announce  owl-users  owl-dev  john-users  john-dev  passwdqc-users  yescrypt  popa3d-users  /  oss-security  kernel-hardening  musl  sabotage  tlsify  passwords  /  crypt-dev  xvendor  /  Bugtraq  Full-Disclosure  linux-kernel  linux-netdev  linux-ext4  linux-hardening  linux-cve-announce  PHC 
Open Source and information security mailing list archives
 
Hash Suite: Windows password security audit tool. GUI, reports in PDF.
[<prev] [next>] [<thread-prev] [thread-next>] [day] [month] [year] [list]
Date:   Mon, 11 Feb 2019 20:10:44 +0000
From:   Song Liu <songliubraving@...com>
To:     Arnaldo Carvalho de Melo <acme@...hat.com>
CC:     "netdev@...r.kernel.org" <netdev@...r.kernel.org>,
        "linux-kernel@...r.kernel.org" <linux-kernel@...r.kernel.org>,
        "ast@...nel.org" <ast@...nel.org>,
        "daniel@...earbox.net" <daniel@...earbox.net>,
        Kernel Team <Kernel-team@...com>,
        "peterz@...radead.org" <peterz@...radead.org>,
        Jiri Olsa <jolsa@...nel.org>,
        Namhyung Kim <namhyung@...nel.org>,
        Andi Kleen <andi@...stfloor.org>,
        Stephane Eranian <eranian@...gle.com>,
        Arnaldo Carvalho de Melo <acme@...nel.org>
Subject: Re: [PATCH 0/9] perf annotation of BPF programs



> On Feb 11, 2019, at 10:54 AM, Arnaldo Carvalho de Melo <acme@...hat.com> wrote:
> 
> Em Fri, Feb 08, 2019 at 05:16:56PM -0800, Song Liu escreveu:
>> This series enables annotation of BPF programs in perf.
>> 
>> perf tool gathers information via sys_bpf and (optionally) stores them in
>> perf.data as headers.
> 
> Jiri, Stephane, this is the patchkit I mentioned in the context of doing
> away with perf.data headers and instead package everything as userspace
> PERF_RECORD_ metadata events.
> 
> Song, please add Jiri and Namhyung in future perf patchkits, they are
> listed as perf tools reviewers in MAINTAINANERS and Jiri also is working
> on something directly related.
> 
> Thanks,
> 
> - Arnaldo

Thanks Arnaldo! I will keep Jiri and Namhyung in the loop. 

Song




>> Patch 1/9 fixes a minor issue in kernel;
>> Patch 2/9 to 4/9 introduce new helper functions and use them in perf and
>>     bpftool;
>> Patch 5/9 and 6/9 saves information of bpf program in perf_env;
>> Patch 7/9 adds --bpf-event options to perf-top;
>> Patch 8/9 enables annotation of bpf programs based on information gathered
>>     in 5/9 and 6/9;
>> Patch 9/9 handles information of short living BPF program that are loaded
>>     during perf-record or perf-top.
>> 
>> Commands tested during developments are perf-top, perf-record, perf-report,
>> and perf-annotate.
>> 
>> ===================== Note on patch dependency  ========================
>> This set has dependency in both bpf-next tree and tip/perf/core. Current
>> version is developed on bpf-next tree with the following commits
>> cherry-picked from tip/perf/core:
>> 
>> (from 1/10 to 10/10)
>> commit 76193a94522f ("perf, bpf: Introduce PERF_RECORD_KSYMBOL")
>> commit d764ac646491 ("tools headers uapi: Sync tools/include/uapi/linux/perf_event.h")
>> commit 6ee52e2a3fe4 ("perf, bpf: Introduce PERF_RECORD_BPF_EVENT")
>> commit df063c83aa2c ("tools headers uapi: Sync tools/include/uapi/linux/perf_event.h")
>> commit 9aa0bfa370b2 ("perf tools: Handle PERF_RECORD_KSYMBOL")
>> commit 45178a928a4b ("perf tools: Handle PERF_RECORD_BPF_EVENT")
>> commit 7b612e291a5a ("perf tools: Synthesize PERF_RECORD_* for loaded BPF programs")
>> commit a40b95bcd30c ("perf top: Synthesize BPF events for pre-existing loaded BPF programs")
>> commit 6934058d9fb6 ("bpf: Add module name [bpf] to ksymbols for bpf programs")
>> commit 811184fb6977 ("perf bpf: Fix synthesized PERF_RECORD_KSYMBOL/BPF_EVENT")
>> ========================================================================
>> 
>> Song Liu (9):
>>  perf, bpf: consider events with attr.bpf_event as side-band events
>>  bpf: libbpf: introduce bpf_program__get_prog_info_linear()
>>  bpf: bpftool: use bpf_program__get_prog_info_linear() in
>>    prog.c:do_dump()
>>  perf, bpf: synthesize bpf events with
>>    bpf_program__get_prog_info_linear()
>>  perf, bpf: save bpf_prog_info in a rbtree in perf_env
>>  perf, bpf: save btf in a rbtree in perf_env
>>  perf-top: add option --bpf-event
>>  perf, bpf: enable annotation of bpf program
>>  perf, bpf: save information about short living bpf programs
>> 
>> kernel/events/core.c        |   3 +-
>> tools/bpf/bpftool/prog.c    | 266 ++++++---------------------
>> tools/lib/bpf/libbpf.c      | 251 ++++++++++++++++++++++++++
>> tools/lib/bpf/libbpf.h      |  63 +++++++
>> tools/lib/bpf/libbpf.map    |   3 +
>> tools/perf/Makefile.config  |   2 +-
>> tools/perf/builtin-record.c |  15 +-
>> tools/perf/builtin-top.c    |  15 +-
>> tools/perf/util/annotate.c  | 149 ++++++++++++++-
>> tools/perf/util/bpf-event.c | 351 +++++++++++++++++++++++++++---------
>> tools/perf/util/bpf-event.h |  48 ++++-
>> tools/perf/util/dso.c       |   1 +
>> tools/perf/util/dso.h       |  33 ++--
>> tools/perf/util/env.c       | 148 +++++++++++++++
>> tools/perf/util/env.h       |  12 ++
>> tools/perf/util/evlist.c    |  20 ++
>> tools/perf/util/evlist.h    |   2 +
>> tools/perf/util/header.c    | 231 +++++++++++++++++++++++-
>> tools/perf/util/header.h    |   2 +
>> tools/perf/util/symbol.c    |   1 +
>> 20 files changed, 1304 insertions(+), 312 deletions(-)
>> 
>> --
>> 2.17.1

Powered by blists - more mailing lists