UpFront

diff -u: What's New in Kernel Development

Zack Brown

Issue #125, September 2004

A new process-accounting project, called Enhanced Linux System Accounting (ELSA), has been started for Linux. Mechanisms for tracking system behavior on a process-by-process basis already exist; what ELSA proposes is to collect processes together into banks and assess them as a group. In theory, other aspects of the system also can be grouped together into banks for ongoing analysis.

The InterMezzo filesystem has been dropped from the 2.6 Linux kernel on the grounds that Peter J. Braam has stopped maintaining it, and no one else has stepped up to take his place. Peter himself acknowledges that InterMezzo can be maintained adequately as an independent module if anyone cares to do it and has helped smooth over Linus Torvalds' decision to drop it. InterMezzo, intended for large clusters, server replication, mobile computing and other high-availability projects, appears not to have been maintained seriously since 2002, and its mailing lists have been dead for some time. Unless people become passionate enough about it to pick it up themselves, it is doubtful the filesystem will return to the mainline Linux kernel tree.

Although 2.6 continues to stabilize, the 2.4 kernel continues to be most users' first choice for their systems, and a lot of feature swapping takes place between the 2.4 and 2.6 trees. Marcelo Tosatti, the 2.4 maintainer, has been trying to slow down the adoption of new features in 2.4, hoping that users needing those features would migrate to 2.6. But until Linux 2.6 becomes firmly established, he has found himself under pressure to accept features like Serial ATA (SATA) in spite of the fact that stable kernel series are not supposed to include new features that might destabilize the system. During all of this, Marcelo also has been hard at work on some 2.6 features, such as some recent per-user resource limits he submitted in April 2004 to Andrew Morton, the 2.6 maintainer (along with Linus until 2.7 forks off).

These changes were inspired by the discovery that users could execute a denial-of-service (DoS) attack by creating too many pending signals, among other things. Unfortunately, although these fixes certainly are needed for security reasons, it is possible that the various shells (bash, csh and others) may need to be updated as well, in order to take advantage of the new limits. This poses some compatibility problems, making it difficult for users to upgrade only the kernel if they want, without at the same time upgrading other software as well.

Every once in a while someone gets a really weird idea and then goes ahead and implements it. Some would say Linux is itself an example of this, but another example is the recent attempt by Sergiy Lozovsky to embed a LISP interpreter into the 2.6 Linux kernel. The purpose was to allow system administrators to control the security policies of their systems using a high-level language, so they wouldn't have to alter the kernel source code and recompile. Sergiy's LISP interpreter was much simpler and smaller than Common LISP, taking up much less RAM and running in a virtual machine that would protect the system from any LISP bugs introduced by careless system administrators. The worst that would happen is that their security policy wouldn't work. There is virtually no chance that this feature will be accepted into the kernel proper, for several reasons. First, the LISP language probably is not going to be a favorite with system administrators who would want such an interpreter, as they probably would prefer something more shell-like. And second, because virtually the same thing could be implemented in user space with no need of embedding the entire interpreter in the kernel at all. This also would obviate the need for a virtual machine to protect the system from system administrator programming errors. In spite of any objections, however, an embedded LISP interpreter in the kernel is fun to play with and might be the sort of thing to be maintained for a long time outside of the kernel, by enthusiastic folks who simply like the weirdness of it all (or who really think it's a good idea).

The entire 2.6 development process is somewhat unusual, even for Linux. First, Linus Torvalds seemed to hand off development to Andrew Morton, but then it turned out they would continue to work in tandem. Andrew continued to produce kernel versions with names like 2.6.6-rc1-mm2, the -mm being a holdover from when most of his patches had to do with memory management. Recently he also has begun to release a -mc series, standing for merge candidate, that is, sets of patches to be merged with Linus' tree. While doing this, he still has released -mm versions, although presumably these also are intended to be merged with Linus' tree. From the user perspective, everything is still clear and calm, because the 2.6.5, 2.6.6, 2.6.7 and so on, releases all still come out and are housed in known locations. But, unlike the ongoing 2.4 and 2.0 (and theoretically 2.2 as well, although its maintainer Alan Cox has been fairly quiet lately) development, 2.6 maintenance has seemed to bounce around a bit more than the others.

LJ Index—September 2004


  • 1. Worldwide server sales, in billions of dollars, for the first quarter of 2004: 11.5

  • 2. Year-to-year percentage revenue growth in server sales: 7.3

  • 3. Year-over-year server unit shipment growth percentage: 22.4

  • 4. UNIX year-over-year server revenue percentage decline: 3

  • 5. Windows server revenue percentage growth: 16.4

  • 6. Windows server shipment percentage growth: 26.5

  • 7. Linux server sales percentage growth: 56.9

  • 8. Linux server shipment percentage growth: 46.4

  • 9. Number of consecutive quarters of double-digit Linux server revenue growth: 7

  • 10. Number of billions of dollars in worldwide quarterly factory revenue approached by Linux: 1

  • 11. Number of consecutive quarters in which Linux servers sales have exceeded $900 million: 2

  • 12. Peak number of simultaneous listeners to the Linux-powered Radio Paradise: 5,647

  • 13. Linux market opportunities in China, in millions of dollars by 2008: 41.9

  • 14. Linux market opportunities in Japan, in millions of dollars by 2007: 105

  • 15. Thousands of Linux-certified practitioners at IBM: 3

  • 16. Thousands of people at IBM that have “some kind of Linux exposure”: 12

  • 17. IBM revenue percentage growth in 2004 over 2003: 20.5

  • 18. Number of Oracle servers at city of Bergen (Norway) moving to Linux: 8

  • 19. Number of Windows application servers being consolidated to Linux servers in Bergen: 100

  • 20. Approximate number of Linux servers to which Bergen's app servers are being consolidated on IBM eServer BladeCenters running Linux: 20

  • 1–11, 17: International Data Corp.

  • 12: Radio Paradise

  • 13–14: International Data Corp. via InternetNews

  • 15, 16: Times of India

  • 18–20: ZDNet

They Said It

Linux servers are playing increasingly important roles in IT customers' computing infrastructure. They are taking on enterprise workloads, now that more ISV applications are available for both technical and commercial workloads on the Linux server platform.

—Jean S Bozman, research vice president, Global Enterprise Server Solutions, International Data Corp. (www.idc.com/getdoc.jsp?containerId=pr2004_05_25_194643)

The weather scares us a bit, but on the other hand we know a lot of people up there, and they all seem happy. And it's bound to be less crazy than Silicon Valley.

—Linus Torvalds, on moving from Silicon Valley to Portland, Oregon (management.silicon.com/careers/0,39024671,39121320,00.htm)

In addition to the IT-based benefits from migrating to Linux, we attain a business model that doesn't tie us to a single vendor's solution architecture. By migrating to Linux, the City of Bergen has a business model that is open and democratic and, we believe, that will ensure a greater degree of freedom of choice, more efficient operation and major cost savings that will benefit the citizens.

—Janicke Runshaug Foss, CIO of the City of Bergen, Norway (news.zdnet.co.uk/0,39020330,39157677,00.htm)

The new API is HTML, and the new winners in the application development marketplace will be the people who can make HTML sing.