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>
Please register or sign in to comment