What is PREEMPT_RT?
PREEMPT_RT is patch set that attempts to convert Linux into a generic RTOS. The Linux open-source community has been working on PREEMPT_RT for over two decades, and over that time, many changes from the PREEMPT_RT effort have been incorporated into mainline Linux. However, significant portions of the PREEMPT_RT patch set have not yet been accepted by mainline Linux, and even the most recently released Linux version (5.17) still requires nearly 10,000 lines additional patches that have not yet been accepted.
PREEMPT_RT in major Linux distributions
If and when the PREEMPT_RT patch set is fully merged, it will continue to be disabled by default, and unsupported, by almost all major Linux distributions. Because of that, combined with the fact that most Linux kernel developers will not be focusing on developing and testing their patches under PREEMPT_RT, it is likely that the PREEMPT_RT functionality will be very difficult to properly maintain and keep working. The PREEMPT_RT patch set could even be eventually dropped from mainline Linux, which has happened with other large patch sets, though remember that as of today PREEMPT_RT still has not been fully accepted.
PREEMPT_RT vs RedHawk Linux maintenance and support
Unlike PREEMPT_RT, the RedHawk approach to real-time is deeply rooted in processor shielding which consists of a relatively small set of kernel extensions and does not involve a dramatic redesign of the entire kernel spinlock and interrupt model. As a result, RedHawk’s design is a conceptually simpler and far more maintainable solution, a solution that has been widely deployed and successfully used by Concurrent’s customers over the two decades that PREEMPT_RT has been slowly incubating.
RedHawk PRT kernel
The PREEMPT_RT model can offer some advantages for soft real-time applications utilizing many more threads than processor cores, and therefore Concurrent has incorporated the full PREEMPT_RT patch set into additional RedHawk PRT kernels that are optionally available. The RedHawk PRT kernels combine both RedHawk’s proven processor shielding approach with PREEMPT_RT’s generic RTOS model, allowing customers to use hard real-time shielding with dedicated processor cores, while offering soft real-time on all the other cores that can then run hundreds of soft real-time threads simultaneously.