Realtime Linux Beyond PREEMPT_RT: Exploring Xenomai's Dual-Kernel Approach
summary
Xenomai uses a dual-kernel interrupt pipeline (detail + Cobalt/Cobite) that captures interrupts out-of-band so real-time threads run even while Linux disables interrupts; guarantee holds only while a task stays in the primary domain and domain switches trigger a signal via domain switch detection. Setup requires a detail-enabled kernel (examples: 6.16), run prepare_kernel and build, install RTDM drivers or port Linux drivers, and try demo tools like latency and cyclictest; EVL is a rewrite (~20k LOC) with a Rust API aiming to remove duplicated drivers. PREEMPT_RT is mainline; Xenomai trades driver work for stronger isolation.
AI-written summary · about
chapters (17)
- 0:00Realtime Linux and Xenomai intro
- 1:04Why determinism matters
- 2:49Linux soft realtime limits
- 3:57Xenomai dual-kernel approach
- 6:50Cobalt kernel for realtime
- 9:20Interrupt pipeline details
- 12:30Primary and secondary domains
- 13:55App design for realtime
- 16:25Debugging realtime issues
- 17:27PREEMPT_RT vs Xenomai limits
- 18:50Getting started with Xenomai on your system
- 21:18Xenomai APIs hello world
- 23:47Xenomai drivers RTDM
- 25:36Retime performance benchmark
- 27:42Xenomai 3 vs EVL future
- 29:29Xenomai vs PREEMPT_RT choice
- 30:57Q&A
related talks
54mIntroduction to Realtime Linux
38mBuilding Hard Real-Time Linux Systems with Xenomai
44mReal-Time Linux on Embedded Multicore Processors
47mReal-Time Linux: What Is Next?
26mReal-time Linux: what is next?
49mSteering Xenomai into the Real-Time Linux Future
40mRT Linux in Safety-Critical Systems: The Potential and the Challenges
24mPREEMPT_RT Q&A with tglx
