Enhancing the Real-time Capabilities of the Linux Kernel
Ref: HURRAY-TR-120701 Publication Date: Nov 2012
Enhancing the Real-time Capabilities of the Linux KernelRef: HURRAY-TR-120701 Publication Date: Nov 2012
Abstract—The mainline Linux Kernel is not designed for hard real-time systems; it only fits the requirements of soft realtime systems. In recent years, a kernel developer community has been working on the PREEMPT-RT patch. This patch (that aims to get a fully preemptible kernel) adds some realtime capabilities to the Linux kernel. However, in terms of scheduling policies, the real-time scheduling class of Linux is limited to the First-In-First-Out (SCHED_FIFO) and Round- Robin (SCHED_RR) scheduling policies. These scheduling policies are however quite limited in terms of real-time performance. Therefore, in this paper, we report one important contribution for adding more advanced real-time capabilities to the Linux Kernel. Specifically, we describe modifications to the (PREEMPT-RT patched) Linux kernel to support real-time slot-based task-splitting scheduling algorithms. Our preliminary evaluation shows that our implementation exhibits a real-time performance that is superior to the scheduling policies provided by the current version of PREMPT-RT. This is a significant add-on to a widely adopted operating system.
Published in ACM SIGBED Review - Special Issue on the 24th Euromicro Conference on Real-Time Systems (ACM SIGBED Rev), ACM.