Re: [PATCH v2 bpf-next 0/9] Future-proof more tricky libbpf APIs

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

 



On Wed, Nov 10, 2021 at 09:36:15PM -0800, Andrii Nakryiko wrote:
> This patch set continues the work of revamping libbpf APIs that are not
> extensible, as they were added before we figured out all the intricacies of
> building APIs that can preserve ABI compatibility (both backward and forward).
> 
> What makes them tricky is that (most of) these APIs are actively used by
> multiple applications, so we need to be careful about refactoring them. See
> individual patches for details, but the general approach is similar to
> previous bpf_prog_load() API revamp. The biggest different and complexity is
> in changing btf_dump__new(), because function overloading through macro magic
> doesn't work based on number of arguments, as both new and old APIs have
> 4 arguments. Because of that, another overloading approach is taken; overload
> happens based on argument types.
> 
> I've validated manually (by using local test_progs-shared flavor that is
> compiling test_progs against libbpf as a shared library) that compiling "old
> application" (selftests before being adapted to using new variants of revamped
> APIs) are compiled and successfully run against newest libbpf version as well
> as the older libbpf version (provided no new variants are used). All these
> scenarios seem to be working as expected.
> 
> v1->v2:
>   - add explicit printf_fn NULL check in btf_dump__new() (Alexei);
>   - replaced + with || in __builtin_choose_expr() (Alexei);
>   - dropped test_progs-shared flavor (Alexei).

Applied, 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