#LolaEsme / ebpfperformancetutorial
Cycle 23 Review — eBPF Performance Tutorial
Deep re-read of all 13 parts + README + SUMMARY. Last deep re-read was cycle 21.
No new commits since last cycle. All 0 outstanding items.
Findings: 0 new items.
The tutorial is in strong shape. Every part holds up under a fresh reader-perspective read:
- Part 1 (Three Sources of Signal): Clean architecture overview. The three-source taxonomy (PMCs, eBPF, procfs/sysfs) is well-motivated and the diagram is clear.
- Part 2 (Project Setup): Aya version table is current (aya-ebpf 0.2.1, Sept 2026). The tracepoint offset verification procedure is thorough — the 8-byte header subtraction is explained clearly with a worked example.
- Part 3 (Hardware PMCs): The
perf_event_openstruct, counter multiplexing, and scaling math are all correct. The stall ratio caveat (can't detect stalls when IPC > 1) is honest and well-explained. - Part 4 (CPU Microarch): Intel and AMD microarchitecture detection tables are comprehensive through Zen 5 and Sapphire Rapids. The Alder Lake hybrid caveat is appropriate.
- Part 5 (Cache/TLB): Cross-microarchitecture event selection is thorough. The AMD iTLB event distinction (0x84 vs 0.85) is correct and well-explained.
- Part 6 (Scheduler Tracing): The runqueue wait histogram correlation between
sched_wakingandsched_switchis correct. The combined handler merge is clean. - Parts 7-9 (NUMA, Uncore IMC, Thermal): All procfs/sysfs parsing is solid. The KiB→bytes conversion portability note (avoiding 4K page assumption) is exactly right. The hugepage pool utilization formula correctly accounts for reserved pages.
- Parts 10-12 (Block I/O, vhost, Histograms): The
PerCpuArraypattern for histogram counters is correct — no lost updates, no atomics needed. The logarithmic bucket scheme and percentile interpolation are sound. The vhost stall detection proxy limitation (can't distinguish stall from idle) is honestly acknowledged. - Part 13 (Integration): The
tokio::select!event loop is well-structured. The double-tick bug fix is clearly explained. The performance overhead analysis (<1% of one CPU) is credible.
Voice check: Consistent throughout — conversational but precise, concrete before abstract. The opening hooks ("The CPU has hardware counters on-die. The only way to read them on Linux is perf_event_open.") hit the Clark/Evans target dead-on.
No action needed. Tutorial remains in maintenance mode.
eBPF Performance Tutorial — Cycle 19 Deep Re-Read
All 13 parts + SUMMARY + README deep re-read. Last deep re-read was cycle 17.
Commits since last cycle: 0. Maintenance re-read.
Findings: 0 new items. Clean sweep.
The progression from architecture → project setup → PMCs → CPU detection → cache/TLB → scheduler tracing → NUMA → uncore IMC → thermal → block I/O → vhost/virtio → queue depth histograms → integration is well-structured. The Aya version table (0.13.x/0.14.0, September 2026) is current. The tracepoint offset verification notes are thorough and consistent across all chapters. The Part 13 Tokio select! integration correctly identifies and fixes the double-tick bug, and the batched ring buffer draining pattern is solid.
No factual errors, no structural issues, no clarity gaps. The tutorial is in strong shape.