What Every Driver Developer Should Know about RT
summary
PREEMPT_RT forces irq threads so interrupt handlers run in kernel threads instead of long hard IRQ routines, reducing cyclictest tails from hundreds of microseconds toward ~16 µs on tested hardware, but drivers still break real‑time guarantees. PCI posted writes plus a following read can produce 174 µs spikes unless code does a read-back after PCI writes. About 80 drivers still call local_irq_disable so the new local_irq_lock API and per‑CPU accessors plus raw spinlocks for IRQ/scheduler code are recommended.
AI-written summary · about
chapters (24)
- 0:00Introduction
- 2:27Mixed Criticality Systems
- 5:44Latency
- 6:23cyclic test
- 7:00histogram
- 8:55Mainline
- 10:57Force IRQ Threads
- 12:15The Good News
- 16:33Dispatch
- 18:02Local Locks
- 18:55Semantics
- 19:58IRQ
- 22:54Architectural E
- 23:39Latency Test
- 26:16Low Power State
- 27:36Scheduling Latency Example
- 29:46Spinlock Preemption
- 32:29Conclusion
- 34:14Questions
- 34:41MM IO
- 36:04IRQ Threading
- 38:04Request Threaded IRQ
- 40:14Threaded Top Handler
- 43:14Debugging
related talks
53mPREEMPT_RT - How Not to Break It.
53mPREEMPT_RT - How Not to Break It.
50mInside the RT Patch
46mPREEMPT_RT - how not to break it.
34mDo Existing Drivers Conflict with PREEMPT_RT? a 3-Year Survey
47mReal-Time Linux: What Is Next?
51mReal Time is Coming to Linux; What Does that Mean to You?
34mDo Existing Drivers Conflict with PREEMPT_RT? a 3-Year Survey
