Software:PREEMPT RT
PREEMPT_RT is a feature of the Linux kernel which implements both hard and soft real-time computing capabilities.[1] It was formerly maintained as a set of out-of-tree patches. On September 20, 2024, PREEMPT_RT was fully merged and enabled in mainline Linux on the supported architectures x86, x86 64, RISC-V and ARM64.[2] This made kernel v6.12 the first release to include baked-in real-time capability.
History
The PREEMPT_RT patchset has been in development since 2005 [3] as an effort to make the Linux kernel capable real-time computing by reducing unbounded latencies in kernel paths. Early real-time enhancements were proposed by Ingo Molnár, Thomas Gleixner, and others. The PREEMPT_RT patch series introduced features such as threaded interrupts, priority- inherited mutexes, and other mechanisms required for deterministic kernel behavior. [4]
For many years PREEMPT_RT was maintained as an out-of-tree patch set applied to stable kernel releases. To support the funding of the ongoing development OSADL, a German software organization with members from PREEMPT_RTs user but also it's creators like Gleixners Linutronix, has a working group. While parts of the PREEMPT_RT work were incrementally merged, the majority of the patch set remained external to mainline Linux for decades.
In 2015, the Linux Foundation established the Real-Time Linux (RTL) Collaborative Project to coordinate efforts toward upstreaming PREEMPT_RT and to provide sustained development resources. The project brought together long term industry members and maintainers to focus on refactoring kernel subsystems and pushing critical real-time code into the mainline. [5]
In 2021, the preemption core locking code was merged.[6][7]
At the September 2024 European Open Source Summit, Linus Torvalds announced that PREEMPT_RT had been accepted into the mainline Linux kernel after a protracted development hurdle involving the printk kernel logging facility.
Usage
PREEMPT-RT is actively used at the moment by distributors and vendors to enhance their own distributions.
MontaVista Software has been releasing a real-time Linux distribution containing the PREEMPT_RT patchset since the early 2000. Montavista's current main embedded Linux product, CGX, contains real-time preemption as a standard feature.
Since February 2023, Canonical sold real-time versions of Ubuntu Pro.[8][9], even though no notable contributions were made to the development by them.
References
- ↑ "20 years later, real-time Linux makes it to the kernel - really". https://www.zdnet.com/article/20-years-later-real-time-linux-makes-it-to-the-kernel-really/.
- ↑ "Merge tag 'sched-rt-2024-09-17' - kernel/git/torvalds/linux.git - Linux kernel source tree". https://git.kernel.org/pub/scm/linux/kernel/git/torvalds/linux.git/commit/?id=baeb9a7d8b60b021d907127509c44507539c15e5.
- ↑ Reghenzani, Federico; Massari, Giuseppe; Fornaciari, William (2019-02-21). "The Real-Time Linux Kernel: A Survey on PREEMPT_RT". ACM Computing Surveys 52 (1): 18:1–18:36. doi:10.1145/3297714. ISSN 0360-0300. https://doi.org/10.1145/3297714.
- ↑ "PREEMPT_RT over the years" (in en). https://kernel-recipes.org/en/2024/schedule/preempt_rt-over-the-years.
- ↑ "RTL website" (in en). https://realtime-linux.org/.
- ↑ "Realtime preemption locking core merged [LWN.net"]. https://lwn.net/Articles/867919/.
- ↑ "The future of realtime Linux". https://lwn.net/Articles/572740/.
- ↑ Proven, Liam. "Real-time Ubuntu 22.04: What you need to know" (in en). https://www.theregister.com/2023/02/20/ubuntu_realtime_capable_edition/.
- ↑ "Canonical releases Real-time Ubuntu 24.04 LTS" (in en). https://ubuntu.com/blog/real-time-24.04.
External links
