With a major new kernel point release, Linux this week continues inching its way toward becoming a real-time OS, and ideally winning new converts in key industry verticals and embedded designs.
Among the many driver additions, bug fixes and updates in Linux kernel 2.6.23 — the OS’s fourth large kernel point release of the year — is something called CFS, or the Completely Fair Scheduler.
Ingo Molnar, the Red Hat developer who led the CFS project, said that more than 80 percent of the feature’s design could be summed up in a single sentence: “CFS basically models an ideal, precise multi-tasking CPU” on real hardware.
“This project is a complete rewrite of the Linux task scheduler,” Molnar wrote in a mailing list posting. “My goal is to address various feature requests and to fix deficiencies in the ‘vanilla’ scheduler that were
suggested/found in the past few years, both for desktop scheduling and for server scheduling workloads.”
As a result, CFS offers a new level of kernel control, enabling more real-time capabilities in Linux. A so-called “real-time OS” offers the promise of better response time and a degree of determinism not found in mainstream consumer OS designs. Real-time is often a requirement in embedded applications and control system such as those used in military, medical and financial applications, as well as many other verticals.
CFS “represents another in our progression of sequential milestones aimed at mainstreaming real time capabilities,” Tim Burke, Red Hat’s director of emerging technologies, explained to InternetNews.com.
According to Burke, the feature is consistent with Red Hat’s overall real-time philosophy, “to deliver … capabilities which are of demonstrated high value to a great diversity of workloads, as opposed to more niche real-time specific capabilities.”
“Initially, there was skepticism of such a large-scale overhaul to the default Linux scheduler,” he added. “However, the integration and subsequent work to get through the initial issues went very well, leaving the community with a more simplified, better performing and modular scheduler implementation.”
Having CFS in place is likely benefit other members of the Linux community, including Novell.
“The new CFS scheduler will allow better handling of, particularly, desktop workloads,” Holger Dyroff, who oversees SUSE Linux product management at Novell, told InternetNews.com. “Our hope is to be able to offer a modularized approach for schedulers in the kernel going forward, as we do see a need from customers to use different schedulers depending on the workloads.”
The highly anticipated feature — along with the entire 2.6.23 kernel — comes a bit later than first expected, having gone through nine release candidates before the final release.
“Yeah, it got delayed, not because of any huge issues, but because of various bugfixes trickling in and causing me to reset my ‘release clock’ all the time,” Linux founder Linus Torvalds wrote in his release announcement. “But it’s out there now and hopefully better for the wait.”
With the 2.6.23 kernel released, now begins the two-week “merge window” — during which kernel changes are merged from developer Andrew Morton’s development tree into Torvalds’ main-line kernel tree.
The 2.6.24 kernel is expected to include a number of networking related enhancements that will expand functionality and improve performance.