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

From: Wang Nan
Date: Fri Aug 21 2015 - 06:12:18 EST


Hi Arnaldo,

This is the first time I use my new kernel.org account to generate pull
request for you. I hope it work.

The following changes since commit acc60583a43fe93ff42d707a39d478c7dbe24028:

perf tools: Fix Intel PT timestamp handling (2015-08-20 16:45:01 -0300)

are available in the git repository at:

git://git.kernel.org/pub/scm/linux/kernel/git/pi3orama/linux tags/perf-ebpf-for-acme-20150821

for you to fetch changes up to 15756861299809103c00d9342352eb22bb84f20f:

perf tools: Support attach BPF program on uprobe events (2015-08-21 03:57:12 +0000)

----------------------------------------------------------------
perf bpf improvements:

- Improve 'perf test BPF'

Don't use the hacking way in previous series that make perf act test
target and run 'perf record' using system().

In this series, perf test BPF open the evlist and evsel, attach then
record, analysis result in its own context.

- Improve error reporting

Use strerror style error reporting. Only output debug information
in bpf-loader.c.

Signed-off-by: Wang Nan <wangnan0@xxxxxxxxxx>

----------------------------------------------------------------
He Kuang (3):
perf tools: Move linux/filter.h to tools/include
perf tools: Introduce arch_get_reg_info() for x86
perf record: Support custom vmlinux path

Wang Nan (24):
perf probe: Try to use symbol table if searching debug info failed
perf tools: Make perf depend on libbpf
perf ebpf: Add the libbpf glue
perf tools: Enable passing bpf object file to --event
perf probe: Attach trace_probe_event with perf_probe_event
perf record, bpf: Parse and probe eBPF programs probe points
perf bpf: Collect 'struct perf_probe_event' for bpf_program
perf record: Load all eBPF object into kernel
perf tools: Add bpf_fd field to evsel and config it
perf tools: Attach eBPF program to perf event
perf tools: Suppress probing messages when probing by BPF loading
perf record: Add clang options for compiling BPF scripts
perf tools: Infrastructure for compiling scriptlets when passing '.c' to --event
perf tests: Enforce LLVM test for BPF test
perf test: Add 'perf test BPF'
bpf tools: Load a program with different instances using preprocessor
perf tools: Fix probe-event.h include
perf probe: Reset args and nargs for probe_trace_event when failure
perf tools: Add BPF_PROLOGUE config options for further patches
perf tools: Add prologue for BPF programs for fetching arguments
perf tools: Generate prologue for BPF programs
perf tools: Use same BPF program if arguments are identical
perf probe: Init symbol as kprobe
perf tools: Support attach BPF program on uprobe events

tools/build/Makefile.feature | 6 +-
tools/include/linux/filter.h | 237 +++++++++++
tools/lib/bpf/libbpf.c | 143 ++++++-
tools/lib/bpf/libbpf.h | 22 ++
tools/perf/MANIFEST | 4 +
tools/perf/Makefile.perf | 19 +-
tools/perf/arch/x86/Makefile | 1 +
tools/perf/arch/x86/util/Build | 2 +
tools/perf/arch/x86/util/dwarf-regs.c | 104 +++--
tools/perf/builtin-probe.c | 4 +-
tools/perf/builtin-record.c | 52 ++-
tools/perf/config/Makefile | 31 +-
tools/perf/tests/Build | 10 +-
tools/perf/tests/bpf-script-example.c | 44 +++
tools/perf/tests/bpf.c | 170 ++++++++
tools/perf/tests/builtin-test.c | 12 +
tools/perf/tests/llvm.c | 123 +++++-
tools/perf/tests/llvm.h | 15 +
tools/perf/tests/make | 4 +-
tools/perf/tests/tests.h | 3 +
tools/perf/util/Build | 2 +
tools/perf/util/bpf-loader.c | 723 ++++++++++++++++++++++++++++++++++
tools/perf/util/bpf-loader.h | 92 +++++
tools/perf/util/bpf-prologue.c | 442 +++++++++++++++++++++
tools/perf/util/bpf-prologue.h | 34 ++
tools/perf/util/evlist.c | 41 ++
tools/perf/util/evlist.h | 1 +
tools/perf/util/evsel.c | 17 +
tools/perf/util/evsel.h | 1 +
tools/perf/util/include/dwarf-regs.h | 7 +
tools/perf/util/parse-events.c | 26 ++
tools/perf/util/parse-events.h | 4 +
tools/perf/util/parse-events.l | 6 +
tools/perf/util/parse-events.y | 29 +-
tools/perf/util/probe-event.c | 86 ++--
tools/perf/util/probe-event.h | 8 +-
tools/perf/util/probe-file.c | 5 +-
tools/perf/util/probe-finder.c | 4 +
38 files changed, 2432 insertions(+), 102 deletions(-)
create mode 100644 tools/include/linux/filter.h
create mode 100644 tools/perf/tests/bpf-script-example.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
--
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/