[LWN Logo]
[LWN.net]

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

See also: last week's Kernel page.

Kernel development


The current development kernel is 2.5.12, which was released on May 1. This release contains more IDE work and numerous janitorial patches, but the bulk of it is made up of Andrew Morton's buffer management work (including extensive readahead and writeback changes). Note that this kernel seems to have more compilation problems than many.

2.5.11 came out on April 29. The big changes included the incorporation of the new NTFS driver, another big set of IDE updates (which, among other things, removes the tagged command queueing support for now - see below), a number of block driver changes, a big ALSA update, a new Microgate SyncLink driver, a bunch of merges from the "dj" series, and many other fixes and updates.

The latest prepatch from Dave Jones is 2.5.12-dj1, which adds a number of fixes.

Dave has posted a note summarizing where he stands with regard to merging code into the mainline tree. There is a long list of changes waiting to be sent to Linus.

Guillaume Boissiere's latest 2.5 Status Summary is dated May 1.

The current stable kernel release is still 2.4.18. There have been no 2.4.19 prepatches from Marcelo since April 16.

Alan Cox released 2.4.19-pre7-ac3 on April 29, but he has not posted a changelog.

Block layer changes continue in the 2.5 series - lest anybody think that this particular job was done. A number of unrelated changes have gone in over the last week, including:

  • Anybody who has looked into the venerable <linux/blk.h> include file has seen quite a bit of ancient Linux block driver history. Some of that history is now, well, history; the old DEVICE_ON and DEVICE_OFF macros have been removed. Their purpose was to allow the generic request handling code to spin up the drive at need. It turns out that only the floppy driver uses that feature, so that logic has been moved into the driver itself. The DEVICE_REQUEST macro has also been removed.

  • Alexander Viro is pursuing his goal of eliminating use of the old kdev_t device type in the block layer. Much of the block code which used that type (i.e. the ioctl implementations) now take a struct block_device instead.

  • The IDE tagged command queueing (TCQ) support was removed in Martin Dalecki's IDE 41 patch, which was merged into 2.5.11. TCQ has been reborn, however, in the form of a new patch from Jens Axboe. Jens has taken a different approach this time around: much of the TCQ support has been moved out of the IDE layer and into a set of generic, block layer functions. Since the tracking of outstanding requests and their associated tags is a generic task, this move makes sense. Eventually, one assumes, the SCSI layer will also make use of the generic TCQ code as well.

Add in the continuing series of IDE patches, and one sees a block layer that is still much in flux. But, then, that's what development kernels are for.

Time to merge the new kbuild? Keith Owens has released release 2.3 of kbuild 2.5, his new kernel building subsystem. At the same time, he has put out a call for inclusion into the 2.5 mainline. Says Keith:

It is faster, better documented, easier to write build rules in, has better install facilities, allows separate source and object trees, can do concurrent builds from the same source tree and is significantly more accurate than the existing kernel build system.

Those might well be enough reasons for most people.

Keith is trying to get the new kbuild into the kernel for the simple reason that it is difficult to maintain externally. Many other kernel changes also require build system changes, so tracking the mainline is a constant task. Linus has not yet answered Keith's request for inclusion - at least, not publicly.

The other aspect of the new build system, of course, is Eric Raymond's CML2 work. Eric appears to have abandoned that project, however; no new CML2 patches have come out since February. Aunt Tillie, it seems, will have to wait a while yet before being able to configure her own kernels.

[ia64 cover] A couple of book notes. Your editor recently received a copy of IA-64 Linux Kernel: Design and Implementation, by David Mosberger and Stéphane Eranian, from the folks at Prentice Hall PTR. People who are uninterested in the IA-64 architecture might be inclined to overlook this book, but that could be a mistake. IA-64 Linux Kernel does indeed explain that architecture, but for the most part it is a detailed, comprehensive overview of the Linux kernel in general. This book is a high-quality addition to the available kernel documentation; it is recommended for anybody looking for a deep understanding of how the kernel works.

Meanwhile, the second edition of Linux Device Drivers, by Alessandro Rubini and your humble editor, is now available in German as Linux-Gerätetreiber, 2.Auflage. The translation was done by Matthias Kalle Dalheimer. The online, FDL-licensed version of the translation is not yet available, but should be within a month or so. (French-speaking readers may have noticed that Pilotes de périphériques sous Linux has been available since around the beginning of the year).

Other patches and updates released this week include:

Kernel trees:

Core kernel code:

Development tools:

Device drivers

Filesystems:

  • Robert Read: Intermezzo + Intersync 0.9.3.

  • Pete Zaitcev: a patch enabling "unholy numbers" of NFS mounts. If this patch is valuable to you, now is probably a good time to tell him so.

Kernel building:

Miscellaneous:

Networking:

Ports:

Section Editor: Jonathan Corbet


May 2, 2002

For other kernel news, see:

Other resources:

 

Next: Distributions

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