When it comes to embedded systems, real-time characteristics like low-latency, deterministic behavior and guaranteed calculations are of utmost importance and there has been an increasing market demand for real-time features on embedded systems which are used in mission-critical applications.
There have been many studies on benchmarking Linux kernel but so far there is none focusing on low-power, small-footprint embedded systems like AMD's Geode LX embedded platform. This is what we are aiming to achieve in this paper. This paper presents results of benchmarking a standard Linux kernel (PREEMPT_NONE) against a real-time Linux kernel (with PREEMPT_RT patch) and also against a soft real-time kernel (PREEMPT) using the Debian Linux operating system on Geode LX800 platform. As the PREEMPT_RT patch matures further and integrates into the mainline Linux kernel, we try to characterize the latency effects (minimum, average and worst-case) of this patch using tests like GTOD tests, cyclictest, LPPTEST and LMbench with over half-a-billion data points.
The paper starts with a basic introduction of the PREEMP_RT patch and outlines the methodology and environment (like BIOS and Operating System settings) used for evaluation. Following that, we present our results with appropriate graphs (bar graphs, histograms and scatter plots) and discuss those results. We also look for any performance degradation due to the real-time patch a common concern for people who want to use the real-time Linux kernel.
The paper concludes with some future work that can be done to further improve our results by further tweaking the Linux kernel settings and discusses some important issues that need to be considered when using the PREEMPT_RT patch.
Download paper as pdf file