Merge branch 'libbpf: Support uniform BTF-defined key/value specification across all BPF maps'
Hengqi Chen says:
====================
Currently a bunch of (usually pretty specialized) BPF maps do not support
specifying BTF types for they key and value. For such maps, specifying
their definition like this:
struct {
__uint(type, BPF_MAP_TYPE_PERF_EVENT_ARRAY);
__type(key, int);
__type(value, int);
} my_perf_buf SEC(".maps");
Would actually produce warnings about retrying BPF map creation without BTF.
Users are forced to know such nuances and use __uint(key_size, 4) instead.
This is non-uniform, annoying, and inconvenient.
This patch set teaches libbpf to recognize those specialized maps and removes
BTF type IDs when creating BPF map. Also, update existing BPF selftests to
exericse this change.
====================
Signed-off-by:
Andrii Nakryiko <andrii@kernel.org>
No related branches found
No related tags found
Showing
- tools/lib/bpf/libbpf.c 24 additions, 0 deletionstools/lib/bpf/libbpf.c
- tools/testing/selftests/bpf/progs/kfree_skb.c 2 additions, 2 deletionstools/testing/selftests/bpf/progs/kfree_skb.c
- tools/testing/selftests/bpf/progs/perf_event_stackmap.c 2 additions, 2 deletionstools/testing/selftests/bpf/progs/perf_event_stackmap.c
- tools/testing/selftests/bpf/progs/sockmap_verdict_prog.c 6 additions, 6 deletionstools/testing/selftests/bpf/progs/sockmap_verdict_prog.c
- tools/testing/selftests/bpf/progs/test_btf_map_in_map.c 7 additions, 7 deletionstools/testing/selftests/bpf/progs/test_btf_map_in_map.c
- tools/testing/selftests/bpf/progs/test_map_in_map.c 4 additions, 6 deletionstools/testing/selftests/bpf/progs/test_map_in_map.c
- tools/testing/selftests/bpf/progs/test_map_in_map_invalid.c 1 addition, 1 deletiontools/testing/selftests/bpf/progs/test_map_in_map_invalid.c
- tools/testing/selftests/bpf/progs/test_pe_preserve_elems.c 4 additions, 4 deletionstools/testing/selftests/bpf/progs/test_pe_preserve_elems.c
- tools/testing/selftests/bpf/progs/test_perf_buffer.c 2 additions, 2 deletionstools/testing/selftests/bpf/progs/test_perf_buffer.c
- tools/testing/selftests/bpf/progs/test_select_reuseport_kern.c 2 additions, 2 deletions.../testing/selftests/bpf/progs/test_select_reuseport_kern.c
- tools/testing/selftests/bpf/progs/test_stacktrace_build_id.c 2 additions, 2 deletionstools/testing/selftests/bpf/progs/test_stacktrace_build_id.c
- tools/testing/selftests/bpf/progs/test_stacktrace_map.c 2 additions, 2 deletionstools/testing/selftests/bpf/progs/test_stacktrace_map.c
- tools/testing/selftests/bpf/progs/test_tcpnotify_kern.c 2 additions, 2 deletionstools/testing/selftests/bpf/progs/test_tcpnotify_kern.c
- tools/testing/selftests/bpf/progs/test_xdp_bpf2bpf.c 2 additions, 2 deletionstools/testing/selftests/bpf/progs/test_xdp_bpf2bpf.c
Loading
Please register or sign in to comment