diff options
author | Daniel T. Lee <danieltimlee@gmail.com> | 2020-08-23 11:53:34 +0300 |
---|---|---|
committer | Alexei Starovoitov <ast@kernel.org> | 2020-08-25 06:59:35 +0300 |
commit | f0c328f8af5d920a68f8217aec76d9a45288cef1 (patch) | |
tree | 21b45294c5ef83066fac094eab783df052db0015 /samples/bpf/syscall_tp_kern.c | |
parent | 3677d0a13171bb1dc8db0af84d48dea14a899962 (diff) | |
download | linux-f0c328f8af5d920a68f8217aec76d9a45288cef1.tar.xz |
samples: bpf: Refactor tracepoint tracing programs with libbpf
For the problem of increasing fragmentation of the bpf loader programs,
instead of using bpf_loader.o, which is used in samples/bpf, this
commit refactors the existing tracepoint tracing programs with libbbpf
bpf loader.
- Adding a 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.
Signed-off-by: Daniel T. Lee <danieltimlee@gmail.com>
Signed-off-by: Alexei Starovoitov <ast@kernel.org>
Link: https://lore.kernel.org/bpf/20200823085334.9413-4-danieltimlee@gmail.com
Diffstat (limited to 'samples/bpf/syscall_tp_kern.c')
-rw-r--r-- | samples/bpf/syscall_tp_kern.c | 24 |
1 files changed, 12 insertions, 12 deletions
diff --git a/samples/bpf/syscall_tp_kern.c b/samples/bpf/syscall_tp_kern.c index 5a62b03b1f88..50231c2eff9c 100644 --- a/samples/bpf/syscall_tp_kern.c +++ b/samples/bpf/syscall_tp_kern.c @@ -18,19 +18,19 @@ struct syscalls_exit_open_args { long ret; }; -struct bpf_map_def SEC("maps") enter_open_map = { - .type = BPF_MAP_TYPE_ARRAY, - .key_size = sizeof(u32), - .value_size = sizeof(u32), - .max_entries = 1, -}; +struct { + __uint(type, BPF_MAP_TYPE_ARRAY); + __type(key, u32); + __type(value, u32); + __uint(max_entries, 1); +} enter_open_map SEC(".maps"); -struct bpf_map_def SEC("maps") exit_open_map = { - .type = BPF_MAP_TYPE_ARRAY, - .key_size = sizeof(u32), - .value_size = sizeof(u32), - .max_entries = 1, -}; +struct { + __uint(type, BPF_MAP_TYPE_ARRAY); + __type(key, u32); + __type(value, u32); + __uint(max_entries, 1); +} exit_open_map SEC(".maps"); static __always_inline void count(void *map) { |