[LWN Logo]
[LWN.net]

Sections:
 Main page
 Security
 Kernel
 Distributions
 Development
 Commerce
 Linux in the news
 Announcements
 Back page
All in one big page

See also: last week's Kernel page.

Kernel development


The current development kernel is 2.3.35. The patch is large - about 3.5 MB - and is dominated by the great Sparc tree merge. 64-bit Sparc might actually work with this release; 32-bit systems are going to have to wait longer. There is also the addition of "cramfs," a read-only, highly compressed filesystem which is meant for small ROM applications. Work continues on SCSI and USB drivers, the QNX filesystem is being updated again, a few organizational changes have happened, and the IRDA code has seen some work. There is, of course, no announcement.

It has been pointed out that named pipes in 2.3.x are badly broken; watch out if you have an application that uses them.

The current stable kernel is still 2.2.13. The good news is that Mark Lord has finally stomped the IDE bug, so that the way should now be clear for a 2.2.14 release. Really this time, honest... Meanwhile the prepatch series is up to 2.2.14pre17; barring problems, that should be the one that goes out.

A few readers have pointed out that we keep neglecting to mention that the IBM S/390 patches are part of the 2.2.14 prepatch set. The port to the S/390 architecture was done by IBM and contributed to the kernel tree; IBM does not apparently intend to support this port as a commercial product. More information can be found on the IBM S/390 Linux page.

A new object-based storage system. We got this note from Peter Braam about the release of an object-based storage system - the first step toward a new cluster filesystem. The ideas seem to be interesting; the object approach allows the creation of "smart drives" that can deal with objects directly. They have plans for all sorts of goodies that can be built using this approach; see the announcement for more. The code is being released under an open source license.

Help out the Netfilter team. The Netfilter core team has issued a call for help with the production of the Netfilter test suite. Folks who are interested in getting into this code may want to have a look, and consider contributing some test programs - "even trivial tests help."

High-performance web serving was a contentious topic for the week. It all started with a simple query as to why khttpd (Arjan van de Ven's kernel-based HTTP server) had ever been allowed into the mainstream kernel. Khttpd is seen by many as a classic example of kernel bloat - an unnecessary kernel implementation of a protocol that can be handled quite nicely in user space. At best, in this point of view, khttpd is an ill-advised concession to pressures to produce good benchmark results.

So why did it go in? First of all, it is a small, straightforward module that does not really affect the rest of the kernel. Most people will leave it configured out, and never be bothered with it. Another reason is that is really does produce some impressive results - see this benchmark plot for an example. Serving only static files (the only thing khttpd does), khttpd does about four times better than Apache. It also beats the speedy Zeus server, though by a much smaller margin.

Static files matter. Much web content is still static, and much dynamic content can be made static when performance needs dictate. For better or worse, HTTP is also increasingly being used as a file serving protocol, and performance matters in file serving. A good summary of what khttpd is trying to do was posted by Arjan as part of this discussion.

User-space efforts to get the best performance for static files are also continuing. The most hope seems to be placed in "phhttpd," which is being developed by Zach Brown. Zach is working on a new release currently, and is looking for beta testers who have high-volume sites to try it out on.

The jury is still out on which approach will produce the best results. There does appear to be a consensus that some more kernel support for asynchronous bulk data transfers is needed, no matter which approach is taken. That, of course, is a 2.5 issue at best. Meanwhile, those in search of extreme high performance in web serving have a few alternatives to choose from.

Other patches and updates released this week include:

  • Fairsched 0.12 (a hierarchical "fair scheduling" system) was released by Borislav Deianov.

  • Richard Gooch released devfs v151.

  • Kieth Owens has released modutils 2.3.9.

  • Ben Williamson released version 0.2.2 of his DinX small windowing system.

  • Pauline Middelink released an updated version of the "bigphysarea" patch.

  • Tigran Aivazian has posted an improved kernel debugger (kdb) patch.

  • Buildkernel 1.00 was released by William Stearns. Buildkernel is a script that makes the kernel configuration, building, and installation easier.

  • LTmodem 0.9.6 (an in-progress driver for Lucent PCI modems) was released.

  • Lcap is a script which manipulates the capability bounding set (see the December 2 Kernel page for info on the bounding set) to restrict certain actions on a 2.2.11 or later system.

Section Editor: Jon Corbet


December 30, 1999

For other kernel news, see:

Other resources:

 

Next: Distributions

 
Eklektix, Inc. Linux powered! Copyright © 1999 Eklektix, Inc., all rights reserved
Linux ® is a registered trademark of Linus Torvalds