For the problem of increasing fragmentation of the bpf loader programs,
instead of using bpf_loader.o, which is used in samples/bpf, this
patch refactors the existing kprobe, tracepoint tracing programs with
libbbpf bpf loader.
- For kprobe events pointing to system calls, the SYSCALL() macro in
trace_common.h was used.
- Adding a kprobe/tracepoint event and attaching a bpf program to it
was done through bpf_program_attach().
- Instead of using the existing BPF MAP definition, MAP definition
has been refactored with the new BTF-defined MAP format.
Daniel T. Lee (3):
samples: bpf: cleanup bpf_load.o from Makefile
samples: bpf: Refactor kprobe tracing programs with libbpf
samples: bpf: Refactor tracepoint tracing programs with libbpf
samples/bpf/Makefile | 18 ++---
samples/bpf/cpustat_kern.c | 36 +++++-----
samples/bpf/cpustat_user.c | 47 +++++++++++--
samples/bpf/lathist_kern.c | 24 +++----
samples/bpf/lathist_user.c | 42 ++++++++++--
samples/bpf/offwaketime_kern.c | 52 +++++++-------
samples/bpf/offwaketime_user.c | 66 ++++++++++++++----
samples/bpf/spintest_kern.c | 36 +++++-----
samples/bpf/spintest_user.c | 68 +++++++++++++++----
samples/bpf/syscall_tp_kern.c | 24 +++----
samples/bpf/syscall_tp_user.c | 54 +++++++++++----
.../bpf/test_current_task_under_cgroup_kern.c | 27 ++++----
.../bpf/test_current_task_under_cgroup_user.c | 52 +++++++++++---
samples/bpf/test_probe_write_user_kern.c | 12 ++--
samples/bpf/test_probe_write_user_user.c | 49 ++++++++++---
samples/bpf/trace_output_kern.c | 15 ++--
samples/bpf/trace_output_user.c | 55 ++++++++++-----
17 files changed, 465 insertions(+), 212 deletions(-)
--
2.25.1