Performance insights into eBPF step by step
summary
LLVM optimization reports show 6,000 compiler warnings about untaken optimizations, and adding `restrict` removes hundreds of duplicated loads, reducing backend stalls. Perf initially reports perf stat counters zero for BPF, so bpf‑tool profile is extended to collect top‑down events and finds hotspots around bpf_ringbuf_reserve. Intel PT can filter syscall traces but pairing it with BPF profiling fails with “operation not supported.” A simple simulation of run_queue_slower shows task‑local storage beats hash map at hundreds–thousands of processes, i.e. much lower BPF bookkeeping overhead.
AI-written summary · about
chapters (8)
- 0:00Introduction and motivation
- 2:26BPF performance challenges
- 5:55Current state of BPF optimizations
- 8:15Compiler optimizations for BPF
- 10:46Top-down analysis for BPF
- 15:41Profiling BPF programs
- 19:12Modeling BPF performance
- 22:53Q&A session
related talks
46mbpftrace internals
21mPerformance Wins with BPF: Getting Started
25mKernel tracing with BPF
36mObservability and performance analysis with BPF
27mLow-Overhead Tracing Using eBPF for Observability into Kubernetes Apps and Services
32meBPF: BPF kernel infrastructure
42mKernel Analysis Using eBPF
34mBeyond the Hype: Cloud Native eBPF
