On Thu, Aug 10, 2023 at 11:48:49AM -0700, Ian Rogers wrote: > The patch series removes BPF event support as past commits have shown > the support has bit rotten: > https://lore.kernel.org/lkml/20230728001212.457900-1-irogers@xxxxxxxxxx/ > > Similar functionality is now available via the --filter option, that > uses a BPF skeleton, and is therefore more compact and simpler to > use. The simplicity coming from not having to build BPF object files. > > A different use case for the events was for syscall augmentation in > perf trace. So that this isn't broken, and to make its use > significantly simpler, the support is migrated to use a BPF > skeleton. This means perf trace is much more likely to augment > syscalls for users. > > Removal of BPF events was raised on LKML two weeks ago with the > original authors cc-ed: > https://lore.kernel.org/lkml/CAP-5=fXxGimJRXKf7bcaPqfjxxGcn1k3CspY_iSjQnpAKs3uFQ@xxxxxxxxxxxxxx/ > > BPF events are described publicly in very few places but one is: > https://www.brendangregg.com/perf.html#eBPF > "eBPF is currently a little restricted and difficult to use from > perf. It's getting better all the time. A different and currently > easier way to access eBPF is via the bcc Python interface, which is > described on my eBPF Tools page. On this page, I'll discuss perf." > > I don't think the "getting better all the time" is any longer true as > BPF features are being added to perf primarily by using BPF > skeletons. The given example is a filter and would be better supported > via "perf record --filter". agreed, I don't think it's being really used as well, also caused problems with libbpf updates > > Ian Rogers (4): > perf parse-events: Remove BPF event support > perf trace: Migrate BPF augmentation to use a skeleton > perf bpf examples: With no BPF events remove examples > perf trace: Tidy comments > > tools/perf/Documentation/perf-config.txt | 33 - > tools/perf/Documentation/perf-record.txt | 22 - > tools/perf/Makefile.config | 43 - > tools/perf/Makefile.perf | 19 +- > tools/perf/builtin-record.c | 45 - > tools/perf/builtin-trace.c | 310 +-- > tools/perf/examples/bpf/5sec.c | 53 - > tools/perf/examples/bpf/empty.c | 12 - > tools/perf/examples/bpf/hello.c | 27 - > tools/perf/examples/bpf/sys_enter_openat.c | 33 - > tools/perf/perf.c | 2 - > tools/perf/tests/.gitignore | 5 - > tools/perf/tests/Build | 31 - > tools/perf/tests/bpf-script-example.c | 60 - > tools/perf/tests/bpf-script-test-kbuild.c | 21 - > tools/perf/tests/bpf-script-test-prologue.c | 49 - > tools/perf/tests/bpf-script-test-relocation.c | 51 - > tools/perf/tests/bpf.c | 390 ---- > tools/perf/tests/builtin-test.c | 3 - > tools/perf/tests/clang.c | 32 - > tools/perf/tests/llvm.c | 219 -- > tools/perf/tests/llvm.h | 31 - > tools/perf/tests/make | 2 - > tools/perf/tests/tests.h | 2 - > tools/perf/trace/beauty/beauty.h | 15 +- > tools/perf/util/Build | 8 +- > tools/perf/util/bpf-loader.c | 2006 ----------------- > tools/perf/util/bpf-loader.h | 216 -- > .../bpf_skel/augmented_raw_syscalls.bpf.c} | 35 +- > tools/perf/util/c++/Build | 5 - > tools/perf/util/c++/clang-c.h | 43 - > tools/perf/util/c++/clang-test.cpp | 67 - > tools/perf/util/c++/clang.cpp | 225 -- > tools/perf/util/c++/clang.h | 27 - > tools/perf/util/config.c | 4 - > tools/perf/util/llvm-utils.c | 612 ----- > tools/perf/util/llvm-utils.h | 69 - > tools/perf/util/parse-events.c | 268 --- > tools/perf/util/parse-events.h | 15 - > tools/perf/util/parse-events.l | 31 - > tools/perf/util/parse-events.y | 44 +- > 41 files changed, 133 insertions(+), 5052 deletions(-) awesome :)) Acked-by: Jiri Olsa <jolsa@xxxxxxxxxx> thanks, jirka > delete mode 100644 tools/perf/examples/bpf/5sec.c > delete mode 100644 tools/perf/examples/bpf/empty.c > delete mode 100644 tools/perf/examples/bpf/hello.c > delete mode 100644 tools/perf/examples/bpf/sys_enter_openat.c > delete mode 100644 tools/perf/tests/.gitignore > delete mode 100644 tools/perf/tests/bpf-script-example.c > delete mode 100644 tools/perf/tests/bpf-script-test-kbuild.c > delete mode 100644 tools/perf/tests/bpf-script-test-prologue.c > delete mode 100644 tools/perf/tests/bpf-script-test-relocation.c > delete mode 100644 tools/perf/tests/bpf.c > delete mode 100644 tools/perf/tests/clang.c > delete mode 100644 tools/perf/tests/llvm.c > delete mode 100644 tools/perf/tests/llvm.h > delete mode 100644 tools/perf/util/bpf-loader.c > delete mode 100644 tools/perf/util/bpf-loader.h > rename tools/perf/{examples/bpf/augmented_raw_syscalls.c => util/bpf_skel/augmented_raw_syscalls.bpf.c} (93%) > delete mode 100644 tools/perf/util/c++/Build > delete mode 100644 tools/perf/util/c++/clang-c.h > delete mode 100644 tools/perf/util/c++/clang-test.cpp > delete mode 100644 tools/perf/util/c++/clang.cpp > delete mode 100644 tools/perf/util/c++/clang.h > delete mode 100644 tools/perf/util/llvm-utils.c > delete mode 100644 tools/perf/util/llvm-utils.h > > -- > 2.41.0.640.ga95def55d0-goog >