A stable and mature Linux kernel is enabling its chief developers to shift away from the common kernel development model to one that will result in more frequent releases.
Up to now, once a production Linux kernel was released, stabilized, patched and updated as a point release, any new feature or technology in progress was moved to a new development and test kernel.
But with a common goal of providing a more constant, smoother and faster development cycle, new technologies are being put directly into 2.6.x, while any move to start a 2.7 development tree is still many months away, Linus Torvalds, the creator of the Linux kernel, told eWEEK in an e-mail interview.
The current production 2.6 kernel was released in January, and its most recent version, 2.6.9, was released in October.
“There still hasnt been a single patch that has made me or Andrew [Morton, who maintains the 2.6 kernel] say, Hmm, that looks too fundamental; it really needs 2.7. So right now, Im trying to concentrate on being good about merging regular things into 2.6.x,” Torvalds said. “Well see when we get to the point that people get too frustrated about something really disruptive that we need a 2.7.x.
“Right now I dont actually foresee anything in the next few months, but sometimes the eruptions happen suddenly,” Torvalds wrote.
The goal in continuing to move new features and technologies into the production 2.6 kernel is to provide a more constant, smoother and faster cycle, in which new features are tested just once, rather than first in a development environment and again in the production release, said Dan Frye, vice president of IBMs Linux Technology Center, in Beaverton, Ore.
“Production versions have always had a large amount of new code flowing into them anyway, but it was flowing through the artificial construct of a development tree and having to be stabilized twice. So, the quality should go up and the development time down. If we find a quality issue, then we will have to rethink this,” Frye said.
Frye speculated that there may be no need for a 2.7 kernel for a long time, if at all. “We are thrilled with the changes in the kernel development process, and we are seeing everything we and our customers need and care about going into 2.6.x, and that does not mean that interesting development is not going on,” he said.
While some fundamental problems emerged a couple of times over the past six months, which built up pressure for a 2.7 kernel, the team figured out ways to break those problems down into manageable chunks for 2.6, Frye said.
An IT manager who requested anonymity said as long as the new process results in a stable, well-tested, reliable and secure operating system, he is comfortable with it. “New features and functionality are great, but only if the underlying system is secure and reliable,” the manager said.
The new approach is working for vendors as well.
Sam Greenblatt, chief architect of Computer Associates International Inc.s Linux Technology Group, in Islandia, N.Y., said CA is pleased with the decision to make 2.6 a better release before moving to 2.7.
“There is new functionality that will be included in 2.6, such as our KGEM [Kernel Generalized Event Management] product, which is still focused on Version 2.7 but is now targeted for the 2.6 kernel with back-porting to 2.4,” Greenblatt said. KGEM is a generic facility that enables kernel events to be communicated to user applications.
Scott Collins, an evangelist for software company Trolltech Inc., in Palo Alto, Calif., said he is “pleased with where Linux is now and confident in where its going. The absence of a 2.7 tree hasnt stopped development. I look forward to what we get when 2.7 comes, but in the meanwhile, we still benefit from all the work. It just happens to be in a kernel named 2.6.x. With an average of 10MB a month of patches going into 2.6.x, plainly work is being done. And if its good enough to be accepted, plainly its good work.”
CAs Greenblatt agreed, citing the fact that the 2.6.9 version of the kernel already includes a lot of NTFS (NT File System) updates, block I/O barrier support, a patch allowing unprivileged processes to lock small amounts of memory in RAM, a new USB (Universal Serial Bus) storage driver, clusterwide file-locking infrastructure and AMD dual-core support, as well as a bunch of latency-reduction work and lots of fixes.
While no 2.6.10 prepatches have been released yet, the floodgates have opened, with several hundred change sets already finding their way into Torvalds BitKeeper repository. These include a set of SCSI updates, a big rework of the IRQ subsystem and some software suspend fixes, scheduler tweaks, switchable and loadable I/O schedulers, a big USB update, Version 17 of the wireless extensions API, the kernel events notification mechanism, and many fixes, Greenblatt said.
Check out eWEEK.coms for the latest open-source news, reviews and analysis.