UpFront

diff -u: What's New in Kernel Development

Zack Brown

Issue #122, June 2004

The BIOS often is one of the least friendly parts of a computer. The source code typically is secret, and updates are almost nonexistent. Most decent OSes try to leave the BIOS behind as soon as possible, providing their own interfaces to similar functionality. Sometimes a BIOS bug forces OS developers to take steps to work around it. This happened recently with the eMachines M6805. The BIOS failed to recognize a CPU upgrade and reported the CPU speed and voltage values as those of the original CPU. Tony Lindgren has created a Linux kernel patch to perform some sanity checks on these machines to correct the values reported by the BIOS.

Benjamin Herrenschmidt is working on a sysfs interface to Open Firmware to provide PPC and PPC64 systems with a full Open Firmware path. Illustrating the Linux development style, as soon as Benjamin published his work, various design issues came under scrutiny. In particular, he had wanted to provide the Open Firmware data as part of the data for PCI devices, which had the potential to become a mess. Would all the different buses and all the different firmwares start having to store data about each other? And, what other parts of the system would want representation elsewhere as well? Linus Torvalds suggested keeping each aspect separate, so that Open Firmware data, even if it addressed PCI devices, would be found in the Open Firmware subdirectory.

Dipankar Sarma has produced an API function that should be able to clean up some ReiserFS (and other) code. The function, rcu_barrier(), waits for all the queued RCU callbacks to complete. RCU, or Read Copy Update, is a locking mechanism that allows the OS to access data shared between multiple CPUs at a low computational cost [see “Using RCU in the 2.5 Kernel” by Paul McKenney, LJ, October 2003]. Previously, ReiserFS had to implement its own logic to simulate this functionality. Nikita Danilov of the ReiserFS team has been hoping for this sort of API for quite a while. Once it's accepted into the main tree, the Reiser folks will be able to ditch a lot of ugly code.

With the release of Linux 2.0.40 (code-named The Moss-Covered Tortoise), David Weinehall has indicated his intention to continue maintaining the ancient 2.0 series. In 2.0.40, he has fixed a number of security holes and filesystem corruption issues, among other things. In the announcement, David affirmed that no new features would go into the 2.0 series. Users wishing to take advantage of features available in recent kernels, he says, must upgrade either to the 2.4 or 2.6 tree. Some systems may have a difficult time upgrading, such as active servers that have run only 2.0 kernels, which would need to be redesigned completely for any later kernel. In spite of this, it seems to be infeasible to provide a smoother upgrade path than what already exists, given that even-numbered kernels must strive for stability.

Max Asbock recently put together a device driver to support the IBM xSeries RSA service processor. The driver, called ibmasm, provides a user-space interface to send commands, wait for events and handle the remote video features. One snag in the current design, however, is that Max's interface is unique in Linux. Although the driver must provide an interface into the system, he doesn't see a way to provide the “one file, one value” mechanism of sysfs. Nor does the driver fit easily into the category of character device, so he has placed it in the /drivers/misc directory of the Linux kernel source. Given these anomalies, we might expect this driver to go through some changes before being adopted in the kernel proper. If it does get accepted quickly, the interface still may take some time to settle down, as it gets shoe-horned into the preferred Linux places.

Gerd Knorr has written a driver that, although not actually providing any user-visible goodies on its own, will help other drivers deal with infrared remote control devices. Drivers like saa7134 and bttv now will be able to use the regular Linux input layer to access these devices in a clean fashion. One interesting twist is that the basic Linux module handling code has changed during the 2.5 time frame, and Gerd has kept to the old interface, even though his driver is for 2.6. The reason for this has been that he wants his code to compile under both 2.4 and 2.6, and 2.4 doesn't support some of the needed functions provided by 2.6. Rusty Russell, the developer most responsible for the module interface revamp during 2.5, seems to be quite active in responding to this type of situation, and he has said he will implement compatibility functions in 2.4 that will allow the preferred 2.6 constructions to compile properly on both kernel series.

Anti-Spam SMTP Project: assp.sourceforge.net

David A. Bandel

Issue #122, June 2004

ASSP is an SMTP proxy that performs Bayesian filtering, has whitelists and generally tries to identify and reject spam before it's passed on to your MTA for acceptance and processing. Among the good features is an easy way to reclassify non-spam as spam merely by forwarding it to assp-spam@your.domain. Reviewing spam is a little more difficult, because you actually need to take a quick look through the spam directory to ensure that no non-spam has been misclassified. Then, do a quick rebuild of the spam database and you're done. Setup is more intensive, because you have to let things run for a while, keep an eye on where they're going and move them as required. But, no mail ever is lost, even if it is misclassified. ASSP is probably not appropriate for an ISP, but businesses, especially smaller ones, will like it. Requires: Perl.

ecncheck: firestuff.org

David A. Bandel

Issue #122, June 2004

Have you ever found that you can't get to a particular Web site from a Linux system, but other systems have no problem? Then, you later find out ECN (explicit congestion notification) was turned on in the Linux system and that's what caused the problem? Would you like to be able to check a site for compliance with the RFCs or simply find out if they support ECN? ecncheck can do it for you. Requires: libpthread, glibc and raw socket access.

LJ Index—June 2004


  • 1. Linux percentage savings vs. Microsoft Windows: 70

  • 2. Savings in US dollars to Van Shung Chong Holdings by switching to Linux and putting off server purchases: 100,000

  • 3. Billions of hits to the NASA Web site in the first two months of 2004: 7.5

  • 4. Peak traffic at NASA in January 2004 in Gb/second: 7

  • 5. Number of Itanium 2 processors to which SGI's Altix platform can scale in a single system image: 256

  • 6. Thousands of in-house beta testers for IBM's planned Linux desktops and laptops: 15

  • 7. Year-over-year million-dollar increases in Linux server quarterly revenue: 960

  • 8. Percentage year-over-year Linux server growth: 63.1

  • 9. Percentage year-over-year Linux server shipment growth: 52.5

  • 10. Percentage year-over-year Windows server shipment growth: 23.3

  • 11. Percentage year-over-year Windows factory revenue growth: 16.1

  • 12. Percentage Q4 factory revenue growth over one year earlier, for IBM servers: 17.7

  • 13. Percentage Q4 factory revenue growth over one year earlier, for HP servers: 9.4

  • 14. Percentage Q4 factory revenue growth over one year earlier, for Dell servers: 19

  • 15. Percentage Q4 factory revenue growth over one year earlier, for Sun servers: –1.7

  • 16. Percentage Q4 factory revenue growth over one year earlier, for Fujitsu-Siemens servers: 17.7

  • 17. Number of AMD Opteron processors in the new Linux-powered Dawning 4000A supercomputer in China: 800

  • 18. Trillions of operations per second the Dawning 4000A will perform: 10

  • 19. Position this will put the Dawning 4000A on the current Top500 list: 4

  • 1, 2: BusinessWeek

  • 3, 4: vnunet.com

  • 5: SGI

  • 6: TheLinuxShow

  • 7–16: IDC

  • 17–19: AMD

Nameko: wiz.homelinux.net/php.php

David A. Bandel

Issue #122, June 2004

Nameko is about the easiest-to-install Web-mail application around. This spartan utility allows you to read and send e-mail on your mail/Web server. If all you need to do is read and send e-mail, and other e-mail Web applications are too difficult to install, perhaps this is worth a try. Simply copy it to your Web server, call up the URL and log in. Requires: mail and Web server with PHP, browser.

Nvu: www.nvu.com

David A. Bandel

Issue #122, June 2004

For those of you who have been looking for a Linux HTML editor to replace FrontPage or Dreamweaver, the newly released Nvu (N-view) aspires to be that replacement. With Nvu, the most difficult Web-coding jobs become a snap, including forms, CSS and more. Most of the features are available and appear to work quite well. Future releases should round out the missing pieces; the framework appears to be in place. Requires: libmozjs, libxpcom, libplds4, libplc4, libnspr4, libpthread, libdl, libgtk-x11-2.0, libgdk-x11-2.0, libatk-1.0, libgdk_pixbuf-2.0, libpangoxft-1.0, libpangox-1.0, libpango-1.0, libgobject-2.0, libgmodule-2.0, libglib-2.0, libm, glibc, libgcc_s, libstdc++, libX11, libXi, libXext, libXft, libXrender, libfontconfig, libfreetype, libz and libexpat.

They Said It

A lot of our customers are Linux savvy. So we give them root access. Please, go hack away. We're already seeing a lot of community development. In fact, some of the features we're introducing...came from the community.

—Bob Fuhrman, President & CEO of Interact-TV, from an interview at CES

One more reason I think Linux may be getting close to serious contention: Wal-Mart, the retailing giant, is beginning to play the same hardball with desktop computing that it has played with everything else.

—Dan Gillmor, San Jose Mercury News technology columnist

I don't think Linux is questioned now...I used to have to write a paper as to why anyone would use the technology, but the systems we have developed have been rock-solid for the past five years.

—Ray Loyzaga, CommSecure (www.computerworld.com.au)

Linux server growth continued to accelerate, demonstrating that Linux servers are taking on important roles in IT customers' computing infrastructure. What began with edge and Web-centric workloads is branching out to include HPC and commercial workloads.

—Jean Bozeman, IDC (www.idc.com)

If Pacman had affected us as kids we'd be running around in dark rooms, munching pills and listening to repetitive music.

—Marcus Brigstocke (marcusbrigstocke.com), not Kristian Wilson from Nintendo, so fix your .sig, please—Ed.

vnStat: humdi.net/vnstat

David A. Bandel

Issue #122, June 2004

vnStat is a console-based traffic monitor. Unlike other monitors, it doesn't require root access or use many resources. Basically, vnStat updates its logs from the /proc filesystem. If you need a lightweight monitor that can be run by anyone, not only root, this might be a good choice. Requires: glibc.