A Linux kernel developers announced the transfer of final changes necessary for building the kernel with the PREEMPT_RT option, which includes tools for real-time operation, into the linux-next branch, which will be used for the upcoming release 6.12. After these changes are accepted into the main kernel branch, the PREEMPT_RT mode will be available for X86, ARM64, and RISC-V architectures. Support for ARM and POWERPC architectures will be added later, for which not all patches have been submitted to the kernel yet.
The development of a real-time mode implementation for the Linux kernel has been ongoing since 2005 as part of the 'Realtime-Preempt' ('-rt') project and has been managed by the Linux Foundation since 2015. Until now, the PREEMPT_RT mode implementation has been delivered in the form of external patches, based on which some distributions, such as RHEL, SUSE, and Ubuntu, created separate Realtime editions of their products, which are in demand in areas such as financial systems, audio and video processing devices, aviation, medicine, robotics, telecommunications, and industrial systems where predictable event processing times are essential.
In 2019, efforts began to promote the patches developed in PREEMPT_RT to the main kernel composition. An option for enabling real-time mode, PREEMPT_RT, was added to the configuration file of kernel 5.3, but the integration of the necessary changes for its operation has stretched over 5 years. Now this path is nearing completion, and it is likely that in the 6.12 release, the kernel can be built in PREEMPT_RT mode without the use of additional patches.
The last missing feature in the kernel that prevented the activation of the PREEMPT_RT mode was the support for non-blocking atomic output through the printk function. This feature has now been accepted into the linux-next branch. The implementation of an atomic and non-blocking console for the UART 8250 driver, without which output of emergency messages to the console from code in atomic context is currently disabled, is also awaiting inclusion in the linux-next branch.
Forrás: opennet.ru
