[LWN Logo]

 Main page
 Linux in the news
 Back page
All in one big page

See also: last week's Kernel page.

Kernel development

The current development kernel release is 2.3.99-pre8. The -pre7 release, which came out on May 12, contained the new configuration option controlling whether devfs is automatically mounted at boot time, the new devfs FAQ, a whole new PowerPC 8620 ethernet/serial driver contributed by MontaVista Software, a number of ethernet driver, USB, and PCMCIA updates, a new Specialix RIO driver, and a new "PPP over ethernet" driver.

2.3.99-pre8 came out just hours after -pre7, and contained a large S/390 architecture update, along with a major RAID update, an Integraphics Cyber2000 frame buffer driver update, and a few other tweaks.

There is a 2.3.99-pre9 pre-prepatch available, in its second revision as of this writing. Most of this patch is a large MIPS64 update; also included is a rewrite of the parallel port documentation, a new ST TDA7432 audio processor chip driver, a number of IDE driver tweaks, a devfs update, an NFS update, and the usual array of small tweaks.

Alan Cox posted a new 2.4 jobs list on May 18.

The current stable kernel release is still 2.2.15. The 2.2.16 process continues with 2.2.16pre3. There have been, recently, some complaints about the performance of 2.2.15, but nothing specific has been found yet.

Memory management problems continue with recent development kernel releases. There is currently a great deal of effort going into stabilizing things, but it is hampered somewhat by a lack of agreement over where the problems really are and how they should be fixed.

Part of the trouble has to do with the zoned memory allocator. On some architectures, there is more than one type of memory to worry about. With i386 systems, only some of the available memory may be suitable for old-style DMA I/O, and "high" memory (above 1GB) has restrictions of its own. So the kernel's memory allocator divides memory into zones, and requests for memory specify which zone they wish to allocate from.

A common symptom seems to be that the DMA zone runs out of memory. Once that happens, the I/O system can run into difficulties because it can't get memory when it needs it. The "kswapd" process, meanwhile, goes nuts trying to free up DMA memory but never seems to get on top of the situation. The performance of the system as a whole falls apart, and users get grumpy.

One fairly reliable way to demonstrate the problem seems to be to fire up any sort of application that streams through a lot of data. The inability to do things like play MP3 files is a common complaint. Streaming data plows through a lot of memory while simultaneously keeping the I/O system busy.

Linus thus far has taken the approach of trying to simplify the memory management system as much as possible. Thus many of the recent tweaks are coming back out, in the hopes of making the basic system work; at that point some of them can maybe go back in. This work, along with a couple of fixes to the page freeing and kswapd code, appears to have improved - though perhaps not completely fixed - things in the 2.3.99-pre9 prepatch series. Rik van Riel, Juan J. Quintela, and Ingo Molnar have been working on tweaking the current code, while Andrea Arcangeli continues with his much more complicated "classzone" patch. With that much high-caliber effort being concentrated on the problem, it will probably not be around for much longer, even if the shape of the final solution is not currently clear.

Directory cache changes. Alexander Viro has posted a list of changes which will go into the 2.3 directory cache shortly. The posting includes a warning to anybody who maintains a filesystem that is not part of the standard kernel tree: talk to him soon or watch your code break. Deep filesystem changes like this may seem a little strange during an alleged feature freeze, but Mr. Viro says "This change is _really_ needed." That may be true, but it also reinforces the point that 2.4 remains a distant goal.

Other patches and updates released this week include:

  • Jeff Garzik posted a new Via 686A sound driver. This version supports playback only; recording and MIDI will come later.

  • Alan Cox has dug up some old archives of the linux-kernel mailing list and made them available on his FTP site. Check it out "if you want to know what DaveM's first post looked like, read the very first Linux code freeze announcement or just wondered what a 5 mail a day kernel list was like."

  • Graham Stoney has released a new version of his "dead function optimization" patch. This patch fixes up kernel builds so that functions that can never be called with a given configuration will not be included in the kernel image.

  • Neil Brown has posted a long and thoughtful essay on the whole devfs issue and his suggested solutions to the problem.

  • Robert de Vries has posted a new version of his POSIX timers patch.

  • Version 1.1 of the x86 performance counters driver was released by Mikael Pettersson.

  • Karim Yaghmour released a new version of the Linux Trace Toolkit, which can be used for detailed monitoring of events within the kernel.

  • iptables 1.1.0 has been released; it only works on 2.3.99-pre8 or above.

Section Editor: Jonathan Corbet

May 18, 2000

For other kernel news, see:

Other resources:


Next: Distributions

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