BPF: The Status of BTF, producers, consumers.
summary
BTF moves from compact type blobs to a runtime contract: kernel BTF on recent kernels is about 3 MB (vs hundreds of MB for DWARF), BPF objects carry ~31 KB of bytecode plus BTF and generate a ~0.5 MB all-in-one userspace binary. New kinds like BTF_KIND_FUNC and function prototypes let the verifier check kernel function arguments and avoid bpf_probe_read. Toolchain work across clang/LLVM, gcc, binutils, pahole, libbpf, bpftool and bpf2 skeletons enables preserve access index, extern resolution and on-load relocations so a single compile once run everywhere BPF program can work across kernel versions; examples (run-queue latency tracer, DC-TCP) build and run.
AI-written summary · about
chapters (5)
- 0:00Start
- 16:22BPF CO-RE
- 28:58Userspace part: main loop
- 34:53TCP congestion control modules
- 43:19DYNAMIC RE-LINKING
related talks
37mThe BTF file format, more than just debugging
45mSupporting BPF in the GNU Toolchain
08mLightning Talk: BTFGen: one Step Closer to Truly Portable eBPF Programs
34mWhat's new in the BPF world?
42mA Deep Dive Into eBPF Program Loader
23mAlways present type information thanks to BPF: BTF
32meBPF: BPF kernel infrastructure
36mThe journey of BPF from restricted C language towards extended and safe C.
