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

From: Wang Nan
Date: Wed Sep 23 2015 - 07:23:16 EST


Hi Arnaldo,

I hope you would be satisified with this weeks pull request. In this
patchset, we totally get rid of dummy events by utilizing Namhyung's newest
perf probing API.

Patch 1-6 are different from previous patchset. Plase have a look.

Due to some reason I can't access my kernel.org account in my company today,
so I reuse my github repository. I'll update my kernel.org tree at home.

I'll have a long vacation from Sept. 24. I hope I can discuss with you with
my private email. However, It seems impossible to modify code and test until
Oct. 7. If you find some small problem, could you please help me fix them?

Thank you.

The following changes since commit 5933944f697c15d6f1fb16dc22c02aac9d2ec206:

perf tools: Make perf depend on libbpf (2015-09-22 10:17:01 -0300)

are available in the git repository at:

https://github.com/WangNan0/linux.git tags/perf-ebpf-for-acme-20150923

for you to fetch changes up to 1465cf7b201b8b21c61fa54ffe15094f66e73ab0:

perf probe: Fix module probing with shortname (2015-09-23 10:44:58 +0000)

----------------------------------------------------------------
Get rid of dummy events by utilizing new perf probe API.

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 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
perf probe: Fix module probing with shortname

tools/lib/bpf/libbpf.c | 143 +++++-
tools/lib/bpf/libbpf.h | 22 +
tools/perf/arch/x86/util/Build | 1 +
tools/perf/builtin-record.c | 11 +
tools/perf/config/Makefile | 12 +
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 | 12 +
tools/perf/tests/llvm.c | 210 ++++++++-
tools/perf/tests/llvm.h | 29 ++
tools/perf/tests/tests.h | 3 +
tools/perf/util/Build | 2 +
tools/perf/util/bpf-loader.c | 676 ++++++++++++++++++++++++++++
tools/perf/util/bpf-loader.h | 95 ++++
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-event.c | 2 +-
tools/perf/util/probe-finder.c | 4 +
28 files changed, 2202 insertions(+), 31 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/