Use Binary-Only Kernel Modules, Hate Life
During the "Birds of a Feather" (BoF) session held on the evening of June 14 at the Usenix Conference, Linus Torvalds took questions about the present and future of Linux. One question came from a Linux administrator at a Very Large Company that is struggling with the issue of making a vendor's binary-only kernel modules play well with an up-to-date Linux system.
"I'm a complete non-believer in binary modules", Torvalds said, reiterating what has become the conventional wisdom of the Linux-kernel mailing list and experienced Linux support people. "Most houses that use Linux a lot say that they won't support binary modules because they can't. They may work, but you're not getting the full advantage of Linux", he added. On the legal side, there is no specific exception for binary-only modules. "They're borderline legal. There's nothing in the license that says you're excused from the GPL", Torvalds said.
In response to the inevitable questions about the timing of the next kernel release and whether it will be 2.6 or 3.0, Torvalds said about a year and 2.6. "The desktop is a really interesting area to work on", he said. In order to get things working well on the desktop, developers end up solving a lot of problems for other classes of systems as well. For example, /sbin/hotplug and driverfs, both intended to allow desktop systems to build a representation of buses and the attached devices, also are useful for high-availability embedded systems. Despite the fact that he's developing for the desktop-class systems he uses himself, Torvalds says that Linux "scales to any reasonable number of CPUs", which got a laugh before he defined "reasonable". IBM, however, is running 32-CPU Power4 boxes with good results, he added.
Look at Next Generation POSIX Threads (NGPT) for the future of threads, he advised. "pthreads are horrible, and Linux has a very different model, and there was no glue between the two." NGPT could be that glue. On the compiler side, Torvalds is impressed with the results of compiling Linux under GCC version 3.1, although it's "slow as hell". Someone spoke up and said the GCC developers are looking at speed improvements for future versions.
This year's Usenix conference continued the trend of an increasing number of papers using Linux as a research platform, as well as more mentions of Linux in the "Guru is in" Q&A sessions, vendor exhibition, tutorials and BoFs. Usenix continues to bring together researchers, large-site commercial users and system vendors.
SWILL (Simple Web Interface Link Library), presented by David Beazley and Sotiria Lampoudi of the University of Chicago, is a simple library that lets any program function as a simple web server. With web servers everywhere, why is this useful? It turns out to be an easy way to expose the state of a long-running program, such as a scientific simulation or an experimental compiler. Instead of putting a complex user interface on your program, web-enable it with SWILL in a few lines of code.
XCB, a simple, lightweight X client library, now has an Xlib compatibility layer called XCL. The combination is not quite a drop-in replacement for Xlib, but it's close. For embedded systems developers who are a half megabyte over fitting on a cheaper Flash memory, that's good news.
Also in the X session, Jim Gettys issued a spirited call for moving X's fonts from the server side to the client side. When the server (which runs on the machine you have the monitor plugged into) and the client (the application) are on different hosts, keeping the fonts on the client side will save bandwidth, make it possible to add support for new font types on existing servers and make sure the fonts are set up right for printing. Another project that needs contributors is the one that would enable you to "park" your X applications while you're logged out, then get them back--right where you left off--on the same server or another one.
Other papers covered performance tuning, security and even implementation details of non-Linux OSes. If you want your mind broadened, you could do a lot worse than going to Usenix.
Bdale Garbee, the new Debian project leader and one of the ham radio operators involved in the OSCAR 40 project, conducted a "Guru is In" session covering Linux on laptops and PDAs. Advanced battery life trick for laptops: use RAMdisks for as many filesystems as possible. Complete ACPI support under Linux 2.4 is "pretty much impossible," said Ted Ts'o, so take good care of your old APM laptop until 2.6 is out. Also check out tpctl for tools to control IBM ThinkPad hardware, including turning the serial and parallel ports on and off and changing power management settings,
Usenix didn't slack off in the famous speakers department either, with both Lawrence Lessig and Bruce Schneier making appearances. Both covered what you might expect: Lessig talked about the unprecedented degree to which a consolidated media cartel is trying to exert veto power over technology, and Schneier talked about how the insurance industry, which deals in converting risk into a budgetable cost, will impose discipline on information technology vendors.
Don Marti is technical editor of Linux Journal.