mbox series

[bpf-next,0/3] samples/bpf: Remove obsolete tracing-related tests

Message ID 20240812004503.43206-1-danieltimlee@gmail.com (mailing list archive)
Headers show
Series samples/bpf: Remove obsolete tracing-related tests | expand

Message

Daniel T. Lee Aug. 12, 2024, 12:45 a.m. UTC
The BPF tracing infrastructure has undergone significant evolution,
leading to the introduction of more robust and efficient APIs.
However, some of the existing tests in the samples/bpf directory have
not kept pace with these developments. These outdated tests not only
create confusion among users but also increase maintenance overhead.

For starter, this patchset focuses on cleaning up outdated 'tracing'
related tests within the BPF testing framework. The goal is to
modernize and streamline selftests by removing obsolete tests and
migrating necessaries to more appropriate locations.

Daniel T. Lee (3):
  selftests/bpf: migrate tracepoint overhead test to prog_tests
  selftests/bpf: add rename tracepoint bench test
  samples/bpf: remove obsolete tracing related tests

 samples/bpf/Makefile                          |  12 -
 samples/bpf/test_overhead_kprobe.bpf.c        |  41 ----
 samples/bpf/test_overhead_raw_tp.bpf.c        |  17 --
 samples/bpf/test_overhead_tp.bpf.c            |  23 --
 samples/bpf/test_overhead_user.c              | 225 ------------------
 samples/bpf/test_override_return.sh           |  16 --
 samples/bpf/test_probe_write_user.bpf.c       |  52 ----
 samples/bpf/test_probe_write_user_user.c      | 108 ---------
 samples/bpf/tracex7.bpf.c                     |  15 --
 samples/bpf/tracex7_user.c                    |  56 -----
 tools/testing/selftests/bpf/bench.c           |   2 +
 .../selftests/bpf/benchs/bench_rename.c       |  16 ++
 .../selftests/bpf/benchs/run_bench_rename.sh  |   2 +-
 .../selftests/bpf/prog_tests/test_overhead.c  |  14 +-
 .../selftests/bpf/progs/test_overhead.c       |  11 +-
 15 files changed, 39 insertions(+), 571 deletions(-)
 delete mode 100644 samples/bpf/test_overhead_kprobe.bpf.c
 delete mode 100644 samples/bpf/test_overhead_raw_tp.bpf.c
 delete mode 100644 samples/bpf/test_overhead_tp.bpf.c
 delete mode 100644 samples/bpf/test_overhead_user.c
 delete mode 100755 samples/bpf/test_override_return.sh
 delete mode 100644 samples/bpf/test_probe_write_user.bpf.c
 delete mode 100644 samples/bpf/test_probe_write_user_user.c
 delete mode 100644 samples/bpf/tracex7.bpf.c
 delete mode 100644 samples/bpf/tracex7_user.c

Comments

Andrii Nakryiko Aug. 12, 2024, 9:17 p.m. UTC | #1
On Sun, Aug 11, 2024 at 5:45 PM Daniel T. Lee <danieltimlee@gmail.com> wrote:
>
> The BPF tracing infrastructure has undergone significant evolution,
> leading to the introduction of more robust and efficient APIs.
> However, some of the existing tests in the samples/bpf directory have
> not kept pace with these developments. These outdated tests not only
> create confusion among users but also increase maintenance overhead.
>
> For starter, this patchset focuses on cleaning up outdated 'tracing'
> related tests within the BPF testing framework. The goal is to
> modernize and streamline selftests by removing obsolete tests and
> migrating necessaries to more appropriate locations.
>
> Daniel T. Lee (3):
>   selftests/bpf: migrate tracepoint overhead test to prog_tests
>   selftests/bpf: add rename tracepoint bench test
>   samples/bpf: remove obsolete tracing related tests
>

We already have tracepoint-specific benchmark (see
benchs/bench_trigger.c), try `./bench trig-tp` (it will pretty recent
kernel due to reliance on bpf_modify_return_test_tp() kfunc).

So maybe instead of adding code to selftests, let's just remove it
from both samples/bpf and prog_tests' test_overhead? Either way
test_overhead isn't very representative anymore, given big chunk of
its overhead is in write() syscall?

>  samples/bpf/Makefile                          |  12 -
>  samples/bpf/test_overhead_kprobe.bpf.c        |  41 ----
>  samples/bpf/test_overhead_raw_tp.bpf.c        |  17 --
>  samples/bpf/test_overhead_tp.bpf.c            |  23 --
>  samples/bpf/test_overhead_user.c              | 225 ------------------
>  samples/bpf/test_override_return.sh           |  16 --
>  samples/bpf/test_probe_write_user.bpf.c       |  52 ----
>  samples/bpf/test_probe_write_user_user.c      | 108 ---------
>  samples/bpf/tracex7.bpf.c                     |  15 --
>  samples/bpf/tracex7_user.c                    |  56 -----
>  tools/testing/selftests/bpf/bench.c           |   2 +
>  .../selftests/bpf/benchs/bench_rename.c       |  16 ++
>  .../selftests/bpf/benchs/run_bench_rename.sh  |   2 +-
>  .../selftests/bpf/prog_tests/test_overhead.c  |  14 +-
>  .../selftests/bpf/progs/test_overhead.c       |  11 +-
>  15 files changed, 39 insertions(+), 571 deletions(-)
>  delete mode 100644 samples/bpf/test_overhead_kprobe.bpf.c
>  delete mode 100644 samples/bpf/test_overhead_raw_tp.bpf.c
>  delete mode 100644 samples/bpf/test_overhead_tp.bpf.c
>  delete mode 100644 samples/bpf/test_overhead_user.c
>  delete mode 100755 samples/bpf/test_override_return.sh
>  delete mode 100644 samples/bpf/test_probe_write_user.bpf.c
>  delete mode 100644 samples/bpf/test_probe_write_user_user.c
>  delete mode 100644 samples/bpf/tracex7.bpf.c
>  delete mode 100644 samples/bpf/tracex7_user.c
>
> --
> 2.43.0
>
Daniel T. Lee Aug. 13, 2024, 5:39 p.m. UTC | #2
On Tue, Aug 13, 2024 at 6:17 AM Andrii Nakryiko
<andrii.nakryiko@gmail.com> wrote:
>
> On Sun, Aug 11, 2024 at 5:45 PM Daniel T. Lee <danieltimlee@gmail.com> wrote:
> >
> > The BPF tracing infrastructure has undergone significant evolution,
> > leading to the introduction of more robust and efficient APIs.
> > However, some of the existing tests in the samples/bpf directory have
> > not kept pace with these developments. These outdated tests not only
> > create confusion among users but also increase maintenance overhead.
> >
> > For starter, this patchset focuses on cleaning up outdated 'tracing'
> > related tests within the BPF testing framework. The goal is to
> > modernize and streamline selftests by removing obsolete tests and
> > migrating necessaries to more appropriate locations.
> >
> > Daniel T. Lee (3):
> >   selftests/bpf: migrate tracepoint overhead test to prog_tests
> >   selftests/bpf: add rename tracepoint bench test
> >   samples/bpf: remove obsolete tracing related tests
> >
>
> We already have tracepoint-specific benchmark (see
> benchs/bench_trigger.c), try `./bench trig-tp` (it will pretty recent
> kernel due to reliance on bpf_modify_return_test_tp() kfunc).
>
> So maybe instead of adding code to selftests, let's just remove it
> from both samples/bpf and prog_tests' test_overhead? Either way
> test_overhead isn't very representative anymore, given big chunk of
> its overhead is in write() syscall?
>

Thanks for the insight!
I'll just drop these two and resend them.

> >  samples/bpf/Makefile                          |  12 -
> >  samples/bpf/test_overhead_kprobe.bpf.c        |  41 ----
> >  samples/bpf/test_overhead_raw_tp.bpf.c        |  17 --
> >  samples/bpf/test_overhead_tp.bpf.c            |  23 --
> >  samples/bpf/test_overhead_user.c              | 225 ------------------
> >  samples/bpf/test_override_return.sh           |  16 --
> >  samples/bpf/test_probe_write_user.bpf.c       |  52 ----
> >  samples/bpf/test_probe_write_user_user.c      | 108 ---------
> >  samples/bpf/tracex7.bpf.c                     |  15 --
> >  samples/bpf/tracex7_user.c                    |  56 -----
> >  tools/testing/selftests/bpf/bench.c           |   2 +
> >  .../selftests/bpf/benchs/bench_rename.c       |  16 ++
> >  .../selftests/bpf/benchs/run_bench_rename.sh  |   2 +-
> >  .../selftests/bpf/prog_tests/test_overhead.c  |  14 +-
> >  .../selftests/bpf/progs/test_overhead.c       |  11 +-
> >  15 files changed, 39 insertions(+), 571 deletions(-)
> >  delete mode 100644 samples/bpf/test_overhead_kprobe.bpf.c
> >  delete mode 100644 samples/bpf/test_overhead_raw_tp.bpf.c
> >  delete mode 100644 samples/bpf/test_overhead_tp.bpf.c
> >  delete mode 100644 samples/bpf/test_overhead_user.c
> >  delete mode 100755 samples/bpf/test_override_return.sh
> >  delete mode 100644 samples/bpf/test_probe_write_user.bpf.c
> >  delete mode 100644 samples/bpf/test_probe_write_user_user.c
> >  delete mode 100644 samples/bpf/tracex7.bpf.c
> >  delete mode 100644 samples/bpf/tracex7_user.c
> >
> > --
> > 2.43.0
> >