[GIT PULL 00/22] perf tools: filtering events using eBPF programs
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 +) 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 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 majord...@vger.kernel.org More majordomo info at http://vger.kernel.org/majordomo-info.html Please read the FAQ at http://www.tux.org/lkml/
[GIT PULL 00/22] perf tools: filtering events using eBPF programs
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 +) Get rid of dummy events by utilizing new perf probe API. Signed-off-by: Wang Nan 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 majord...@vger.kernel.org More majordomo info at http://vger.kernel.org/majordomo-info.html Please read the FAQ at http://www.tux.org/lkml/
Re: [GIT PULL 00/22] perf tools: filtering events using eBPF programs
Em Thu, Oct 08, 2015 at 08:29:22AM +, 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 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 +) > > > 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 > > > 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/
Re: [GIT PULL 00/22] perf tools: filtering events using eBPF programs
Em Wed, Sep 23, 2015 at 11:22:21AM +, Wang Nan escreveu: > 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? Sure thing, I'll continue working on this, we'll get there :-) > 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 +) > > > Get rid of dummy events by utilizing new perf probe API. > > Signed-off-by: Wang Nan > > > 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.