Re: [PATCH bpf-next 0/2] libbpf: Support uniform BTF-defined key/value specification across all BPF maps

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

 



On Thu, Sep 30, 2021 at 9:15 AM Hengqi Chen <hengqi.chen@xxxxxxxxx> wrote:
>
> 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.
>
> Hengqi Chen (2):
>   libbpf: Support uniform BTF-defined key/value specification across all
>     BPF maps
>   selftests/bpf: Use BTF-defined key/value for map definitions
>
>  tools/lib/bpf/libbpf.c                        | 24 +++++++++++++++++++
>  tools/testing/selftests/bpf/progs/kfree_skb.c |  4 ++--
>  .../selftests/bpf/progs/perf_event_stackmap.c |  4 ++--
>  .../bpf/progs/sockmap_verdict_prog.c          | 12 +++++-----
>  .../selftests/bpf/progs/test_btf_map_in_map.c | 14 +++++------
>  .../selftests/bpf/progs/test_map_in_map.c     | 10 ++++----
>  .../bpf/progs/test_map_in_map_invalid.c       |  2 +-
>  .../bpf/progs/test_pe_preserve_elems.c        |  8 +++----
>  .../selftests/bpf/progs/test_perf_buffer.c    |  4 ++--
>  .../bpf/progs/test_select_reuseport_kern.c    |  4 ++--
>  .../bpf/progs/test_stacktrace_build_id.c      |  4 ++--
>  .../selftests/bpf/progs/test_stacktrace_map.c |  4 ++--
>  .../selftests/bpf/progs/test_tcpnotify_kern.c |  4 ++--
>  .../selftests/bpf/progs/test_xdp_bpf2bpf.c    |  4 ++--
>  14 files changed, 62 insertions(+), 40 deletions(-)
>
> --
> 2.30.2

Looks good. Applied to bpf-next, thanks.



[Index of Archives]     [Linux Samsung SoC]     [Linux Rockchip SoC]     [Linux Actions SoC]     [Linux for Synopsys ARC Processors]     [Linux NFS]     [Linux NILFS]     [Linux USB Devel]     [Video for Linux]     [Linux Audio Users]     [Yosemite News]     [Linux Kernel]     [Linux SCSI]


  Powered by Linux