Tweaking Device Drivers for Achieving Real-Time Performance in Embedded...
summary
RT Linux on an application processor is tuned to reach MCU-like determinism for SPI devices by tracing with trace-cmd + KernelShark, cyclictest and lmbench, finding that deferred work in the DMA engine (per-channel tasklets and udma status checks) causes rare spikes from expected ~800 µs to 5–100 ms. Removing non‑RT callbacks, promoting workqueues where needed, and using the SPI controller’s local completion event (instead of waiting on DMA callbacks) reduces jitter to ~800 µs typical and peaks under ~400 µs in host workloads; test artifacts live on GitHub.
AI-written summary · about
chapters (6)
- 0:00Start
- 1:18Problem Statement
- 7:57RT Linux System Tuning
- 10:30SPI Target mode | Challenges
- 15:14SPI Controller driver | Analysis
- 15:31DMA driver analysis | Finding Bottlenecks
related talks
46mPREEMPT_RT - how not to break it.
53mPREEMPT_RT - How Not to Break It.
42mSpectre and Meltdown vs. Real-Time: How Much do Mitigations Cost?
41mHand Me Your SECRET, MCU! Microarchitectural Timing Attacks on Microcontrollers are Practical
39mTaming DMA: Tales Wrestling Memory Corruption
32mGood Motive but Bad Design: Pitfalls in MPU Usage in Embedded Systems in the Wild
41mTurning the Ignition on Safety: Zephyr RTOS in Automotive Compliance
29mPerformance Optimization on Xen-based Android Device
