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 has been releasing real-time versions of Ubuntu Pro, free for personal and small-scale commercial use in up to 5 machines.[8][9] The real-time kernel can be added to various existing Ubuntu releases through an enablement process.[9] These kernels include the PREEMPT_RT patchset and offer long-term support.[9]
References
- ↑ "20 years later, real-time Linux makes it to the kernel - really". zdnet.com. Retrieved 2024-09-19.
- ↑ "Merge tag 'sched-rt-2024-09-17' - kernel/git/torvalds/linux.git - Linux kernel source tree". git.kernel.org. Retrieved 2024-09-20.
- ↑ 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. hdl:11311/1076057. ISSN 0360-0300.
- ↑ "PREEMPT_RT over the years". Kernel recipes. Retrieved 2026-02-05.
- ↑ "RTL website". Realtime Linux. Retrieved 2026-02-05.
- ↑ "Realtime preemption locking core merged [LWN.net]". lwn.net. Retrieved 2023-02-09.
- ↑ "The future of realtime Linux". LWN.net. Retrieved 2023-02-09.
- ↑ Proven, Liam. "Real-time Ubuntu 22.04: What you need to know". The Register. Retrieved 2023-02-20.
- 1 2 3 "Canonical releases Real-time Ubuntu 24.04 LTS". Ubuntu. Retrieved 2024-07-03.