[RFC PATCH 0/2] Add btf__permute API

Donglin Peng posted 2 patches 2 months, 3 weeks ago
tools/lib/bpf/btf.c                           | 186 ++++++
tools/lib/bpf/btf.h                           |  43 ++
tools/lib/bpf/libbpf.map                      |   1 +
.../selftests/bpf/prog_tests/btf_permute.c    | 626 ++++++++++++++++++
4 files changed, 856 insertions(+)
create mode 100644 tools/testing/selftests/bpf/prog_tests/btf_permute.c
[RFC PATCH 0/2] Add btf__permute API
Posted by Donglin Peng 2 months, 3 weeks ago
From: Donglin Peng <pengdonglin@xiaomi.com>

This patch adds btf__permute() function that reorganizes BTF types according
to a provided ID mapping array, updating all internal type references to
maintain consistency after permutation.

The API enables custom BTF type layouts for specialized use cases such as
BTF sorting optimizations.

This series is extracted from the previous patch set:
https://lore.kernel.org/all/20251106131956.1222864-1-dolinux.peng@gmail.com/

Key difference: this implementation adopts the ID mapping approach
suggested by Andrii Nakryiko.

Link to v4:
https://lore.kernel.org/all/20251104134033.344807-1-dolinux.peng@gmail.com/

Link to v3:
https://lore.kernel.org/all/20251027135423.3098490-1-dolinux.peng@gmail.com/

Link to v2:
https://lore.kernel.org/all/20251020093941.548058-1-dolinux.peng@gmail.com/

Link to v1:
https://lore.kernel.org/all/20251013131537.1927035-1-dolinux.peng@gmail.com/

Donglin Peng (2):
  libbpf: Add BTF permutation support for type reordering
  selftests/bpf: Add test cases for btf__permute functionality

 tools/lib/bpf/btf.c                           | 186 ++++++
 tools/lib/bpf/btf.h                           |  43 ++
 tools/lib/bpf/libbpf.map                      |   1 +
 .../selftests/bpf/prog_tests/btf_permute.c    | 626 ++++++++++++++++++
 4 files changed, 856 insertions(+)
 create mode 100644 tools/testing/selftests/bpf/prog_tests/btf_permute.c

-- 
2.34.1