[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


Stable kernel version: 2.2.13. That will probably be true for some time to come. Note, however, that 2.2.14pre2 has been released, so 2.2.14 is hovering out there.

The fun stuff is now going into Alan's ac patches, of which we are now up to 2.2.13ac2. Here are the release notes for the ac patches released this week:

Part of the goodies in the ac patches will eventually make it into the stable tree, presuming it shakes out okay. Other portions are not expected to do so. Check the patch announcements for more details.

Development kernel version: 2.3.23. This was apparently released on Saturday, October 23rd. It appears to have slipped out without any fanfare. Several pre-patches for 2.3.24 have shown up since then.

Why is the Tulip ethernet driver in the kernel so old? And why are Linus and Donald Becker yelling at each other? A disagreement over how kernel development should happen is creating difficulties between two of our most productive developers and has resulted in very old code running in the kernel.

The driver for ethernet cards based on the Digital "Tulip" chip is widely used - many such cards are deployed out there. 2.2.13 currently contains version 0.89H of this driver, dated 5/23/98. This driver was written, like so many Linux network drivers, by Donald Becker; a look on his Tulip page shows that the current stable version is 0.91; there is also 0.91g for those who want to live on the edge.

So why is the mainline Tulip driver so old? It turns out there is a major disagreement over how pieces of the kernel should be developed:

  • Donald runs his own development web pages and mailing lists, and uses his own community to test new drivers. Quite a few people work with Donald in the quest to get the driver working on yet another weird Tulip-based card. Donald prefers to keep the testing internal until he has a version that works well; that version then gets shipped off to Linus for inclusion in the kernel tree.

  • But Linus has not been including these new drivers. Linus has, over time, gotten increasingly suspicious of large, monolithic patches. He would much rather see things come in in small pieces; that way, when something breaks, it is much easier to figure out which patch went wrong.

    Linus also makes the point that having code merged frequently into the main development tree greatly expands the number of testers who will try things out. That leads to problems being found more quickly, and a better final product.

The situation looks like a standoff for now, nobody seems ready to change their way of doing things. It may well be that a third party ends up in the middle, feeding driver patches to Linus incrementally as they happen. Linus calls that the role of "Maintainer", as opposed to that of "Author" and comments that they should not necessarily be the same person.

However, for someone else to become the kernel maintainer for Donald's drivers, Donald will have to open up some of his development process, such as his CVS archives. Hopefully, he will be amenable to this. In the end, one way or another, Linus has a way of winning these battles. Hopefully the resolution, whatever it is, can come about without alienating a crucial Linux kernel hacker (any one around who could get Donald onto the list for one of the upcoming Linux-related IPOs?).

Other patches and updates released this week include:

  • devfs v130 and devfsd 1.2.6 from Richard Gooch

  • a patch to fs/devices.c to make it dynamic, instead of using two static arrays indexed by major number, from Jeff Garzik

  • passive duplicate IP detectionfrom Marc Merlin.

  • Trond Myklebust has ported NFSv3to Linux kernel 2.3.21.

  • Andrea Arcangeli put together several PCI fixes into one patch against 2.3.22 and is looking for feedback, particularly from Alpha users.

  • Bufflink "provides a quick and easy way for kernel code to create a ring buffer and write to it from any context (process, bottom half or interrupt)."

  • Uwe Bonnes put out a patch to try and get consistent disk paging data with /proc/stat. He is asking for comments and looking for testers.

Section Editor: Jon Corbet


October 28, 1999

For other kernel news, see:

 

Next: Distributions

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