MontaVista Software has taken the wraps off what it calls a “hard real-time fully preemptable Linux kernel prototype,” based on Linux kernel 2.4. The company claims its kernel modification has the power to revolutionize the application responsiveness of Linux, while fully preserving the Linux programming model. The prototype kernel modification is currently showing better than a 10-fold improvement in worst-case kernel responsiveness, but is expected to reach gains of 100-fold or better, by the time the technology is incorporated into MontaVista's Hard Hat Linux distribution in the January 2001 timeframe.

Kevin Morgan, MontaVista's Vice President of Engineering, says “the kernel modification results in a “relatively fully preemptable kernel at this point in time. The long locks that are held in a SMP environment are being implemented as a no-preempt region, which we feel is a good starting point for this approach. Our goal is to eventually get those to much shorter periods. We've got a lot of measuring work and tuning work to do, as well as refinement of the specific techniques to both drive the responsiveness to even better numbers and to improve some of the architectural attributes. Right now what we're putting out is a prototype, in the best spirit of 'release early, release often'.”

Morgan points out that the enhanced kernel responsiveness is not merely useful for esoteric real-time industrial process control systems, but rather is of value even to today's desktop PC users. “This technology has use in all segments of the market, including the desktop, for the simple reason that desktops these days require multi-programming and multi-processing, with live streaming media in action,” says Morgan. “For example, as a desktop user I want to be able to watch a movie and hear the sound, while also running a browser and my mail program. And when I use the mail program and the browser, I don't want any glitches in the movie or sound. That really requires improvements in Linux responsiveness, and that kind of behavior really is a real-time problem, because a human is really pretty good at detecting glitches in continuous real-time operation. So, this technology is applicable on the desktop. And, of course, it's highly applicable in the more traditional embedded control environments.”

An obvious question, given the potential benefit to virtually all Linux applications — from desktop, to server, to embedded — is: why not add this capability to the standard, mainstream Linux kernel? In fact, that is precisely MontaVista's intention. “MontaVista would like to see this technology, or similar technology, utilized as a foundational feature of Linux 2.5,” explains Morgan. “We are excited to offer this in prototype form, and look forward to receiving feedback from the all areas of the Linux community, as we continue its tuning and refinement.”

According to Morgan, a group of Linux game programmers recently petitioned Linus (Torvalds) to add specific preemption points in the 2.4 kernel, primarily for video throughput improvement. Their proposal was rejected, according to Morgan, due to the specificity of the fixed preemption points. “The kind of fully preemptable kernel technology that we are developing would definitely meet their needs,” says Morgan. “In the course of the dialog over adding specific fixed kernel preemption points, Linus indicated that he is leaning towards a fully preemptable kernel approach in Linux 2.5. We hope our prototype will help to spur and support that change, and possibly become the basis of that technology.”

MontaVista's Linux kernel enhancements also include a real-time scheduler (story) which the company says provides extremely high performance and deterministic real-time application selection and dispatching, without altering standard Linux scheduling. MontaVista also offers an optional interrupt accelerator — in the form of RTLinux — which can be used to improve baseline interrupt responsiveness by better than 5-fold. The result of all these is what MontaVista terms a “closing of the gap between the real-time capabilities of Linux and proprietary RTOSes.” Significantly, these technologies are of fundamental value to mainstream Linux-based desktop and server systems, where multimedia and quality-of-service (QoS) demands are increasingly demanding high performance real-time responsiveness.

Jim Ready, president and CEO of MontaVista Software, points out that MontaVista's real-time strategy is to drive native real-time improvements directly into standard Linux. “Real-time capability is the final barrier to comprehensive adoption of Linux throughout the embedded systems industry,” says Ready. “MontaVista's hard real-time fully preemptable kernel technology advances Linux to the responsiveness attributes of proprietary kernel products. It does so while still providing all the benefits of open source, including rapid development and deployment based on a royalty-free model.”

Availability

The prototype of MontaVista's preemptable Linux kernel is available immediately, for IA32 (X86) platforms, via ftp at ftp://ftp.mvista.com. A technical whitepaper entitled “Design of a Fully Preemptable Linux Kernel” is available here.