eBPF-based Extensible Paravirtualization
summary
Framework injects host-injected eBPF into guests via a virtual device and guest agent that loads verified eBPF ELF, writes affinity hints to BPF maps, and notifies the host over ioctl. Built feature: vCPU->pCPU pinning driven by a kprobe on schedule_affinity; experiments use a single-producer single-consumer lockless queue showing ~1M packets/sec and up to ~20% reduction in serialization with pinning enabled, and no measurable gap between physical and virtual when pinning is applied.
AI-written summary · about
chapters (12)
- 0:00Outline
- 2:30What is eBPF
- 3:26eBPF approach
- 4:19eBPF goals
- 5:44eBPF system
- 6:14Device driver
- 7:22Comparison with HyperApp
- 8:27Use Case
- 9:10Semantic Gap
- 11:09Experiments
- 14:07HyperThreading
- 15:54Conclusion
related talks
37mEfficient and Flexible Virtual Machine Networking Through eBPF
29meBPF on the Rise - Getting Started
32mExploring the Power of eBPF for System Observability
19mKeynote: Hello eBPF! Goodbye Sidecars?
23mAn Intro to eBPF with Go : The Foundation of Modern Kubernetes Networking
25meBPF Strengthens SR-IOV to Be Powerful
28mBeyond Power and Magic: Forging Stable eBPF Tools for the Post-Demon King Era
30mObservability in Kubernetes: Unlocking the Power of eBPF
