Modernizing Resource Management in Embedded Systems Using eBPF
summary
eBPF is used as a low-overhead observability layer to build a low-memory detector and a dynamic cache tuner for TizenOS. The detector counts kswapd wakes, fallback allocs and direct reclaims, applies an EMA in-kernel, and a user-space daemon polls every 0.5s to trigger cgroup freezing or a custom OOM handler, cutting false alarms and surfacing pressure earlier. The tuner measures reclaim and block I/O latencies via kprobes/kretprobes, adjusts VM dirty_ratio with a 60s cooldown, and shows ~15% faster completion on stressg workloads (Raspberry Pi) with minimal CPU overhead.
AI-written summary · about
chapters (13)
- 0:00eBPF in embedded Linux
- 1:03Embedded resource challenges
- 3:37eBPF + user space architecture
- 5:25Low memory monitoring with eBPF
- 8:39Exponential moving average smoothing
- 10:34Benchmark: eBPF vs PSI
- 14:09Dynamic cache tuning with eBPF
- 16:59Memory reclaim and IO latency
- 18:47Extensible tuner architecture
- 20:57Cache tuning decision logic
- 21:41Benchmark results and gains
- 22:02Key takeaways
- 23:46Q&A
related talks
46mThe eBPF Revolution: A Dynamic Linux Kernel
29mBuzzing Across the Cloud Native Landscape with eBPF
40mInspecting and Optimizing Memory Usage in Linux
24mMaking the Kernel Speak Kubernetes: Unlocking eBPF’s Power for Observability
31mEffortless, standardised homelab observability with eBPF
33meBPF: exploring use case of BPF kernel infrastructure
33mEffortless, Standardised Homelab Observability With eBPF
42meBPF-Powered Observab...
