Always present type information thanks to BPF: BTF
summary
Compact kernel type data now lives at /sys/kernel/btf/vmlinux and module-specific types are available via split BTF since kernel 5.11, so userland tools can read exact running-kernel types. DWARF-to-BTF generation and compiler bug workarounds shrink type blobs; pahole gains faster encoding plus raw pretty printing that decodes stdin blobs using type names, arrays, heuristics and back-references. Kernel snprintfs, bpftool and bpftrace use BTF for richer debug/tracing output, and the features demonstrably decode perf and module data correctly.
AI-written summary · about
chapters (6)
- 0:00Start
- 0:27The Bpf Type Format
- 3:05Kernel Internals
- 8:31Split Btf
- 11:11Mod Version Info
- 13:40Event Header
related talks
37mThe BTF file format, more than just debugging
47mBPF: The Status of BTF, producers, consumers.
34mEvolving the BPF Type Format
08mLightning Talk: BTFGen: one Step Closer to Truly Portable eBPF Programs
35mRethinking Linux tools with Compact Debuginfo Formats
46mbpftrace internals
34mWhat's new in the BPF world?
45mSupporting BPF in the GNU Toolchain
