|
This site uses |
Last updated on
28 October 2024 |
D. B. De Oliveira, R. S. De Oliveira, T. Cucinotta. "A thread synchronization model for the PREEMPT_RT Linux kernel," Elsevier Journal of Systems Architecture (JSA), Vol. 107, August 2020
This article proposes an automata-based model for describing and validating sequences of kernel events in Linux PREEMPT_RT and how they influence the timeline of threads’ execution, comprising preemption control, interrupt handling and control, scheduling and locking. This article also presents an extension of the Linux tracing framework that enables the tracing of kernel events to verify the consistency of the kernel execution compared to the event sequences that are legal according to the formal model. This enables cross-checking of a kernel behavior against the formalized one, and in case of inconsistency, it pinpoints possible areas of improvement of the kernel, useful for regression testing. Indeed, we describe in details three problems in the kernel revealed by using the proposed technique, along with a short summary on how we reported and proposed fixes to the Linux kernel community. As an example of the usage of the model, the analysis of the events involved in the activation of the highest priority thread is presented, describing the delays occurred in this operation in the same granularity used by kernel developers. This illustrates how it is possible to take advantage of the model for analyzing the preemption model of Linux.
See paper on publisher website
DOI: 10.1016/j.sysarc.2020.101729
BibTeX entry:
@article{deOliveira2020, doi = {10.1016/j.sysarc.2020.101729}, url = {https://doi.org/10.1016%2Fj.sysarc.2020.101729}, year = 2020, month = aug, publisher = {Elsevier {BV}}, volume = {107}, pages = {101729}, author = {Daniel B. de Oliveira and R{\^{o}}mulo S. de Oliveira and Tommaso Cucinotta}, title = {A thread synchronization model for the {PREEMPT}{\_}{RT} Linux kernel}, journal = {Journal of Systems Architecture} }
Last updated on
07 November 2024 |