Re: [GIT PULL 00/22] perf tools: filtering events using eBPF programs

From: Arnaldo Carvalho de Melo
Date: Thu Oct 08 2015 - 09:45:55 EST


Em Thu, Oct 08, 2015 at 08:29:22AM +0000, Wang Nan escreveu:
> Hi Arnaldo,
>
> Have we made any progress on this patch set?

Well, only one of the patches, not strictly related to eBPF gave me some
work:

commit 266fa2b22294909ddf6e7d2f8acfe07adf9fd978
Author: Arnaldo Carvalho de Melo <acme@xxxxxxxxxx>
Date: Thu Sep 24 11:24:18 2015 -0300

perf probe: Use existing routine to look for a kernel module by
dso->short_name

And some patches came from Masami that I think were somehow related to
things you reported, had to review/test/apply/push those as well.

- Arnaldo

> I have finished my vacation. In this new pull request, I rebase BPF patches
> onto the newest perf/core, and fix a document problem in Makefile.perf.
>
> The following changes since commit ae938802443732e77d01f8d5b52b900b9327ff30:
>
> perf python: Support the PERF_RECORD_SWITCH event (2015-10-07 19:41:50 -0300)
>
> are available in the git repository at:
>
> git://git.kernel.org/pub/scm/linux/kernel/git/pi3orama/linux tags/perf-ebpf-for-acme-20151008
>
> for you to fetch changes up to 60d6b3bceb3d87497c542dec61e4a968d9e2b488:
>
> perf test: Test BPF prologue (2015-10-08 07:23:33 +0000)
>
> ----------------------------------------------------------------
> EBPF support for perf
>
> - Rebase to newest perf/core
>
> - Fix a document problem in Makefile.perf: NO_BPF -> NO_LIBBPF
>
> Signed-off-by: Wang Nan <wangnan0@xxxxxxxxxx>
>
> ----------------------------------------------------------------
> He Kuang (2):
> perf tools: Add prologue for BPF programs for fetching arguments
> perf record: Support custom vmlinux path
>
> Wang Nan (20):
> perf tools: Make perf depend on libbpf
> perf ebpf: Add the libbpf glue
> perf tools: Enable passing bpf object file to --event
> perf record, bpf: Create probe points for BPF programs
> perf record: Load eBPF object into kernel
> perf tools: Collect perf_evsel in BPF object files
> perf tools: Attach eBPF program to perf event
> perf record: Add clang options for compiling BPF scripts
> perf tools: Compile scriptlets to BPF objects when passing '.c' to --event
> perf test: Enforce LLVM test for BPF test
> perf test: Add 'perf test BPF'
> perf probe: Reset args and nargs for probe_trace_event when failure
> bpf tools: Load a program with different instances using preprocessor
> perf tools: Add BPF_PROLOGUE config options for further patches
> perf tools: Compile dwarf-regs.c if CONFIG_BPF_PROLOGUE is on
> perf tools: Generate prologue for BPF programs
> perf tools: Use same BPF program if arguments are identical
> perf tools: Allow BPF program attach to uprobe events
> perf test: Enforce LLVM test, add kbuild test
> perf test: Test BPF prologue
>
> tools/build/Makefile.feature | 6 +-
> tools/lib/bpf/libbpf.c | 143 +++++-
> tools/lib/bpf/libbpf.h | 22 +
> tools/perf/MANIFEST | 3 +
> tools/perf/Makefile.perf | 21 +-
> tools/perf/arch/x86/util/Build | 1 +
> tools/perf/builtin-record.c | 11 +
> tools/perf/config/Makefile | 31 +-
> tools/perf/perf.c | 2 +
> tools/perf/tests/Build | 24 +-
> tools/perf/tests/bpf-script-example.c | 48 ++
> tools/perf/tests/bpf-script-test-kbuild.c | 21 +
> tools/perf/tests/bpf-script-test-prologue.c | 35 ++
> tools/perf/tests/bpf.c | 227 ++++++++++
> tools/perf/tests/builtin-test.c | 10 +
> tools/perf/tests/llvm.c | 210 ++++++++-
> tools/perf/tests/llvm.h | 29 ++
> tools/perf/tests/make | 4 +-
> tools/perf/tests/tests.h | 5 +
> tools/perf/util/Build | 2 +
> tools/perf/util/bpf-loader.c | 677 ++++++++++++++++++++++++++++
> tools/perf/util/bpf-loader.h | 94 ++++
> tools/perf/util/bpf-prologue.c | 443 ++++++++++++++++++
> tools/perf/util/bpf-prologue.h | 34 ++
> tools/perf/util/evsel.c | 17 +
> tools/perf/util/evsel.h | 1 +
> tools/perf/util/parse-events.c | 115 +++++
> tools/perf/util/parse-events.h | 9 +
> tools/perf/util/parse-events.l | 6 +
> tools/perf/util/parse-events.y | 29 +-
> tools/perf/util/probe-finder.c | 4 +
> 31 files changed, 2248 insertions(+), 36 deletions(-)
> create mode 100644 tools/perf/tests/bpf-script-example.c
> create mode 100644 tools/perf/tests/bpf-script-test-kbuild.c
> create mode 100644 tools/perf/tests/bpf-script-test-prologue.c
> create mode 100644 tools/perf/tests/bpf.c
> create mode 100644 tools/perf/tests/llvm.h
> create mode 100644 tools/perf/util/bpf-loader.c
> create mode 100644 tools/perf/util/bpf-loader.h
> create mode 100644 tools/perf/util/bpf-prologue.c
> create mode 100644 tools/perf/util/bpf-prologue.h
>
> --
> 1.8.3.4
--
To unsubscribe from this list: send the line "unsubscribe linux-kernel" in
the body of a message to majordomo@xxxxxxxxxxxxxxx
More majordomo info at http://vger.kernel.org/majordomo-info.html
Please read the FAQ at http://www.tux.org/lkml/