License: Creative Commons Attribution 3.0 Unported license (CC BY 3.0)
When quoting this document, please refer to the following
DOI: 10.4230/LIPIcs.ECRTS.2020.9
URN: urn:nbn:de:0030-drops-123721
URL: http://dagstuhl.sunsite.rwth-aachen.de/volltexte/2020/12372/
de Oliveira, Daniel Bristot ;
Casini, Daniel ;
de Oliveira, RĂ´mulo Silva ;
Cucinotta, Tommaso
Demystifying the Real-Time Linux Scheduling Latency
Abstract
Linux has become a viable operating system for many real-time workloads. However, the black-box approach adopted by cyclictest, the tool used to evaluate the main real-time metric of the kernel, the scheduling latency, along with the absence of a theoretically-sound description of the in-kernel behavior, sheds some doubts about Linux meriting the real-time adjective. Aiming at clarifying the PREEMPT_RT Linux scheduling latency, this paper leverages the Thread Synchronization Model of Linux to derive a set of properties and rules defining the Linux kernel behavior from a scheduling perspective. These rules are then leveraged to derive a sound bound to the scheduling latency, considering all the sources of delays occurring in all possible sequences of synchronization events in the kernel. This paper also presents a tracing method, efficient in time and memory overheads, to observe the kernel events needed to define the variables used in the analysis. This results in an easy-to-use tool for deriving reliable scheduling latency bounds that can be used in practice. Finally, an experimental analysis compares the cyclictest and the proposed tool, showing that the proposed method can find sound bounds faster with acceptable overheads.
BibTeX - Entry
@InProceedings{deoliveira_et_al:LIPIcs:2020:12372,
author = {Daniel Bristot de Oliveira and Daniel Casini and R{\^o}mulo Silva de Oliveira and Tommaso Cucinotta},
title = {{Demystifying the Real-Time Linux Scheduling Latency}},
booktitle = {32nd Euromicro Conference on Real-Time Systems (ECRTS 2020)},
pages = {9:1--9:23},
series = {Leibniz International Proceedings in Informatics (LIPIcs)},
ISBN = {978-3-95977-152-8},
ISSN = {1868-8969},
year = {2020},
volume = {165},
editor = {Marcus V{\"o}lp},
publisher = {Schloss Dagstuhl--Leibniz-Zentrum f{\"u}r Informatik},
address = {Dagstuhl, Germany},
URL = {https://drops.dagstuhl.de/opus/volltexte/2020/12372},
URN = {urn:nbn:de:0030-drops-123721},
doi = {10.4230/LIPIcs.ECRTS.2020.9},
annote = {Keywords: Real-time operating systems, Linux kernel, PREEMPT_RT, Scheduling latency}
}