[LWN Logo]
[LWN.net]

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

See also: last week's Kernel page.

Kernel development


The current kernel release is still 2.4.5; the 2.4.6pre4 prepatch came out just as LWN was going to "press"; it contains a set of fixes but nothing spectacular.

The same can not be said for Alan Cox, who has released several patches up to 2.4.5ac16. Alan has also released 2.2.20pre5 (though the last announced release was 2.2.20pre4) for those still working with the 2.2 kernel.

Some have asked why the current "ac" patches don't include the latest updates from the 2.4.6pre series. Alan's answer might make one a little nervous: "Because right now I don't consider the 2.4.6 page cache ext2 stuff safe enough to merge. I'm letting someone else be the sucide squad." There have not been a whole lot of complaints from 2.4.6pre users, however.

Andrea Arcangeli, too, has been issuing general kernel patches. 2.4.6pre3aa2 adds a number of fixes to the current Linus prepatch. There is also a 2.2.20pre5aa1 for the 2.2.20 prepatch.

The Linux kernel and gcc 3.0. Now that this major gcc release is out, people are naturally interested in using it to build kernels. Numerous fixes for gcc 3.0 are going in, but, at this point, using that compiler is still not recommended. It will take some time for both the compiler and the necessary kernel changes to stabilize before gcc 3.0 can be used with confidence.

The second edition of Linux Device Drivers is about to hit the shelves, at last. This edition, published by O'Reilly, is written by Alessandro Rubini and LWN editor Jonathan Corbet. It covers the 2.4 kernel through even most of the post-2.4.0 changes, and gives great attention to SMP and portability issues. It should hit the shelves around the end of the month - in the U.S., at least. More information can be found on the O'Reilly web site.

The really fun part, though, is the book will be released online under the GNU Free Documentation License. The exact date of the online release is unclear - some work has to be done to prepare the DocBook source for release. The hope, however, is to get it onto the net within a month of the bookstore release. At just over 550 pages, it should be a sizeable addition to the free documentation for the Linux kernel.

The FOLK project sent out an announcement of its existence on June 13. FOLK, or "Functionally Overloaded Linux Kernel," aims to combine as many interesting patches as possible into a single, integrated patch to make them all easier to try out. From the announcement:

The idea isn't to worry about quality, bloat, or any other "detail", but rather to give developers one additional way to showcase ideas and give interested users a way to try things out without having to spend a lifetime finding what's out there, another lifetime upgrading the patch to the current kernel and a third lifetime fixing all the rejected diffs.

In other words, it's probably not something you want to drop onto a production server, but the FOLK patch could be an interesting way of seeing what sort of work is being done out there.

As of this writing, the current patch is 2.4.5-folk1.4. It includes the full 2.4.5ac15 patch, the Bad Memory patch, the Linux Doors patch, the HP plugin scheduler patch, the socket registration patch (discussed in last week's LWN kernel page), IBM's POSIX threading patch, the real-time scheduler patch, JFS, and more. It should be fun to play with - but watch out for those "details."

The Linux kernel is getting too big? A recurring theme on the linux-kernel list is the complaint that the kernel tarballs have gotten too big, and that they contain far more stuff than anybody is going to use. Wouldn't it be better to split it apart, so that people could only download the code they actually need?

The answer has always been something along the lines of "feel free to set up a split kernel download site, but we're too busy." The conversation usually stops there. Now, however, Michael Bacarella has done something about it. He has set up a web page allowing a user to specify which kernel subsystems are of interest; then a tarball is created containing just the desired code.

The current setup is a bit rough - the choices on what to exclude are crude, and it's easy to request a kernel that will not build. But it's only intended to be a first step; future versions would probably hook into the CML2 configuration system and make much smarter choices on which code to include. Mr. Bacarella, of course, is looking for people who would like to help make a better system; drop him a note if you're interested.

Run Linux on your VAX. The Linux/VAX project project announced this week that it had succeeded in booting the system on a VAXStation 3100 and running a shell there. That is, of course, a crucial milestone, and the project is to be congratulated. Even if the resulting system does claim a whopping 5.4 BogoMIPs. Your editor is thinking about that old 11/780 he first learned Unix on...moving it into the basement would be a hard sell with the wife, however...

Making kernel configuration fun. Eric Raymond has evidently decided that there are not enough interfaces to the new kernel configuration system, so he has added another. This one, however, is different, being based on an ancient "interactive diagnostic" program interface:

Welcome to CML2 Adventure, version 1.6.1.
You are in a maze of twisty little Linux kernel options
menus, all different.

The main room.  A sign reads `Linux Kernel Configuration 
System'.  Passages lead off in all directions.

> n
The arch room.  A sign reads `Processor type'.
A passage leads upwards.

Choose your processor architecture.
A brass lantern is here.
There is a row of buttons on the wall of this room. They read:
	X86, ALPHA, SPARC32, SPARC64, MIPS32, MIPS64, PPC, 
	M68K, ARM, SUPERH, IA64, PARISC, S390, S390X, CRIS
The button marked X86 is pressed.

Perhaps this configuration mode should become the default for the Linux/VAX project?

Followup: the PCI suspend/resume interface change. Last week we looked at an incompatible API change that went into 2.4.6pre3, and which upset some developers. For those who are interested, here is Patrick Mochel's justification for the change. While there seems to be a consensus that the change makes sense technically, not everybody thinks it should have been now. Quoting Jeff Garzik:

Anyway I beg you -- please consider API changes more carefully in the future, even if Quick Draw Torvalds does not. The changes that occured here are immaterial: the principle of the stable series is what is at stake here.

Interestingly, Linus felt the need to deny that Mr. Mochel's employment at Transmeta had anything to do with the change being included - despite the fact that nobody had (publicly, at least) made any such allegation.

The real conclusion that should be drawn here, perhaps, is that it is past time for the 2.5 series to begin. 2.4 has not truly stabilized, but it is getting closer and a lot of the remaining problems (virtual memory being at the top of the list) are not those that can be addressed by most kernel hackers. Perhaps it is time to start the new development tree, and future API changes can go there.

Linux/PPC has a new maintainer. Cort Dougan has announced that he is stepping down as the maintainer of the PowerPC port of the Linux kernel. Mr. Dougan has filled this role for several years, and has been widely respected for his leadership with this port.

The new maintainer will be Paul Mackerras. He posted an acceptance speech of sorts; we wish him luck.

Other patches and updates released this week include:

  • Rick Lindsley has released a document describing the global spin locks used in the kernel and the conventions for their use. This is a crucial piece of documentation; as the number of locks grows, it is increasingly difficult to know which locks should be taken out where.

  • Andrea Arcangeli has posted a patch which is intended to make header files match up with some of the user-visible API changes in the 2.4 kernel.

  • Leon Breedt released a patch which enables a non-blinking cursor on the text console. Interestingly, some people strongly disagree with this patch.

  • IBM has released version 0.3.5 of its journaling filesystem.

  • Rusty Russell has posted a new hotplug CPU patch.

  • Anton Altaparmakov announced version 1.0.0 of the Linux NT filesystem. It still is not safe for write access, however.

  • devfs v181 has been released by Richard Gooch.

  • Stelian Pop has updated his Sony Vaio programmable I/O controller driver.

Section Editor: Jonathan Corbet


June 21, 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