[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 release is 2.4.0-prerelease. Linus announced the prerelease on Sunday, December 31st, his last official action for the year 2000. This will be the only prerelease; he promises that the next release will be 2.4.0. There will be a period of time before that release, of course, both for bug-fixes and to allow non-Intel architectures to "catch up" to all the latest features and fixes.

In the week leading up to the prerelease, development was hot and heavy. Test releases pre5, pre6 and pre7 all came out, and the dirty page lists issue was (hopefully) cleaned up. Fixes for problems in the prerelease, of course, are already pouring in.

One major change in the past week, preparing for the prerelease, was the integration of most, though not all, of Alan Cox's patches to the development kernel. These are generally driver updates, though some other features tested in the 2.2 kernel have been ported forward. Alan put out a merge status report, to bring people up-to-date on what has or has not been merged. After that, of course, he continued with his patches against the new prerelease, the most recent of which is 2.4.0-prerelease-ac4.

The current stable kernel release is still 2.2.18. Alan's latest prepatch is 2.2.19pre6.

Generic deferred file writing for VFS. Due to recent patches made to the kernel while tracing down the dirty page lists issues, Daniel Phillips noted that generic deferred file writing in the VFS was very close to being supported in the current kernel. Currently the kernel already does deferred data writing, meaning that modified data is not immediately written to the disk, but is instead deferred until a later time to allow optimization of writes, etc. With generic deferred file writing, applicable only under VFS, not just writing the data but the writing of the file itself could be deferred, including the disk mapping. The intent of this is to prevent metadata blocks (containing disk mappings) from hanging around in cache waiting for data. Instead, both the disk mapping and the data writing would be deferred, then done in a single flush, allowing for better optimization.

There are potential disadvantages, of course. Linus pointed out that proper error handling for common problems such as detection of quota overflows or even "out of space" messages is broken by this scheme. Unfortunately, the overhead in handling these issues correctly may negate the potential performance advantages. In a further post, he summarized his stance, "Don't get me wrong: I like the notion of deferred writes. But I'm also very pragmatic: I have not heard of a really good argument that makes it obvious that deferred writes is a major win performance-wise that would make it worth the complexity". The one exception he made to this was the possibility of making deferred writes a mount option, so people could choose to either support deferred writes and accept improper error handling as a consequence or, by default, not to use deferred writes.

None of this, of course, is under discussion for inclusion in the 2.4.0 kernel series. All of it is more fodder for the 2.5 development series.

Makefile redesign for 2.5. Keith Owens posted a long description of plans to redesign the kernel Makefile system. The current system has become unwieldy, performs poorly and is too easily broken. Some of the changes planned for the new system include the elimination of recursive makes and "make dep", the use of read-only source (allowing compilation from read-only media), proper reporting of errors and warnings, improved speed and overall simplication. Since a lot of delays over the last few months have involved Makefile fixes, this redesign will be welcomed.

Kernel Traffic issues release #100. Issue 100 of Kernel Traffic came out this week. We join in the congratulations; many thanks for this very valuable resource. For those of you unfamiliar with Kernel Traffic, it provides discussion summaries from the linux-kernel mailing list.

Other patches and updates released this week include:

  • Keith Owens released modutils 2.3.24 this week.

  • Keith also released ksymoops 2.3.6 with a note that the same version will be re-packaged as ksymoops 2.4.0 when the 2.4.0 kernel comes out.

  • An updated version of the stackguard patch, which enable the Stackguard version of gcc to compile the kernel, has been released for use with 2.4.0-prerelease.

Section Editor: Jonathan Corbet


January 4, 2001

For other kernel news, see:

Other resources:

 

Next: Distributions

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