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

From: Wang Nan
Date: Thu Oct 08 2015 - 04:31:26 EST


Hi Arnaldo,

Have we made any progress on this patch set?

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/