UpFront

diff -u: What's New in Kernel Development

Zack Brown

Issue #172, August 2008

Having to reboot production systems to incorporate security patches is a pain. How much better would it be simply to graft the patch onto an already running kernel, and let it keep running? This is exactly what Jeff Arnold has been working on. He calls it KSplice, and at least for the moment, it supports any kernel that can load a module. The kernel itself doesn't have to support the feature explicitly. The way it works is that the user supplies the source tree for the running kernel and the patch to graft on. Then, KSplice compiles the patch and loads modules that apply the patch internally. Because of the interest it has generated, it's looking very likely that KSplice will be accepted into the kernel tree, at which point it might stop supporting kernels that don't know about it.

One obstacle standing in the way of Jeff's work is Microsoft's legal department. During the course of discussion, it came out that patent application 10/307,902 from 2002 seemed to cover Jeff's idea. And, although a number of folks, including Gilles Espinasse and Willy Tarreau, said they'd been “hot-patching” operating systems since the 1990s and earlier, Bill Davidsen felt that trying to launch a challenge against a Microsoft patent would be prohibitively expensive. However, according to Jeff, the patent application was rejected by the patent office. So, Microsoft may give up at this point, depending on its current internal weirdness level.

NFS is a lovely filesystem, but it has various problems that make people want to replace it. One of the latest attempts is POHMELFS, or Parallel Optimized Host Message Exchange Layered File System. POHMELFS is written by Evgeniy Polyakov, and it is a user-space layer that can be applied to any back-end filesystem, such as ReiserFS or XFS. It also seems to outperform NFS fairly significantly, at least according to the tests Evgeniy has performed so far. But, it's still only ready for playing around with. People shouldn't use it to store data they want to keep. Evgeniy says it's too soon to talk about the filesystem being reliable for use. He's been able to do regular user activity on it without a problem, but he expects to find bugs, POSIX conformance issues and other issues.

ReiserFS has migrated its development from the NameSys servers to kernel.org, where work is continuing. Edward Shishkin and others continue to develop the filesystem in spite of Hans Reiser's murder conviction.

There have been various other maintainer updates. Greg Kroah-Hartman is no longer the PCI maintainer; he's handed the whole kit and kaboodle off to Jesse Barnes. Timur Tabi has listed himself as the official maintainer of the Cirrus Logic CS4270 sound driver, the Freescale QUICC engine library, the QUICC engine UCC UART driver and the Freescale SOC sound drivers. And, Zhang Wei has abdicated maintainership of the Freescale DMA driver and handed that project over to Li Yang.

The politics of competing filesystems is never pretty. LogFS wants to support Flash drives, but its development has been slower than some people would like. So, Artem Bityutskiy and Adrian Hunter recently announced their own alternative, UBIFS, that is apparently quite a bit further along than LogFS. It's faster, more stable and more featureful, although it still has trouble with devices larger than 64G. LogFS, developed by Jorn Engel, also came out with a new release, perhaps partly in response to the UBIFS announcement. Of course, nothing says there can't be two co-existing Flash filesystems, but apparently one of the motivations for UBIFS was the relatively slow pace of LogFS development. Artem in particular seemed bitter about this, especially since it appeared that various folks were suggesting waiting for LogFS instead of developing UBIFS, while UBIFS was already superior to LogFS.

Matthew Wilcox and others are trying to eliminate as many semaphores as they can from the kernel, and replace them with simpler locking structures, such as mutexes, spinlocks and completions. The problem is that semaphores provide additional features that are hard to mimic with those other types of locks. For example, semaphores can manage access to a cluster of resources, while other locks basically are just on/off switches. The benefit of eliminating semaphores is that it's possible to gain speed and, in the case of single-processor systems, to optimize the lock entirely out of the compiled binary, resulting in further speed gains. But to do this, key features of semaphores have to be mimicked near any lock that replaces one. Matthew, Arjan van de Ven and Ingo Molnar are addressing this by developing kcounter, which will provide ways of managing access to clusters of resources, similar to how semaphores do it.

Unfortunately, kcounter takes a cookie-based approach, similar to other things that have been seen in the kernel before, which have resulted in what David Chinner characterized as a very ugly interface. Hopefully, kcounter will avoid that pitfall, although it does seem as though a significant speedup might justify a little cookie ugliness. That question undoubtedly will spawn some lively debate.

One Tale of Two Scientific Distros

Doc Searls

Issue #172, August 2008

A few weeks ago, I was flying west past Chicago, watching the ground slide by below, when I spotted the signature figure eight of the Fermi National Accelerator Laboratory, better known as Fermilab. I shot some pictures, which I put up at the Linux Journal Flickr site (www.flickr.com/groups/linuxjournal/pool, which runs on Linux too).

I figured Fermilab naturally would use Linux, and found that Fermilab has its own distro: Fermi Linux. Its public site provides a nice window into a highly professional and focused usage of Linux. Within Fermi Linux, specific generations are known as Scientific Linux Fermi, each with version numbers and the code names Charm, Strange, Top, Bottom, Up, Feynmann, Wilson and Lederman.

Some also have LTS in their names. LTS stands for Long Term Support. It has a FAQ. The first Q is, “What is Fermi Linux LTS?” The A goes:

Fermi Linux LTS (Long Term Support) is, in essence, Red Hat Enterprise, recompiled.

What we have done is taken the source code from Red Hat Enterprise (in srpm form) and recompiled it. The resulting binaries (now in rpm form) are then ours to do with as we desire, as long as we follow the license from that original source code, which we are doing.

We are choosing to bundle all these binaries into a Linux distribution that is as close to Red Hat Enterprise as we can get it. The goal is to ensure that if a program runs and is certified on Red Hat Enterprise, then it will run on the corresponding Fermi Linux LTS release.

A follow-up Q goes, “I really don't want to get into legal trouble, please convince me that this is legal.” The A says:

What we are doing is getting the source rpm of each Red Hat Enterprise package from a publicly available area. Each of these packages, except for a few, have the GPL license. This license states that we can freely distribute that package. We are recompiling those packages without any change. Hence, we can freely distribute those rpms that were built....And although these rpms are basically identical to Red Hat's Enterprise Linux, they were built by us and are freely distributable. We can do with them what we want....

Although it is basically identical to Red Hat Enterprise Linux, it is, in essence, a completely different release, just with the same programs, packaged the same way.

Fermilab supports its own users and directs others toward Scientific Linux, which was codeveloped by Fermilab, CERN and other laboratories and universities. Troy Dawson is the primary contact for both Fermi Linux and Scientific Linux. On his own site, he explains, “Fermilab uses what is called Fermi Linux. It is now based on Scientific Linux. It is actually a site modification, so technically it is Scientific Linux Fermi. But we call all of the releases we have made Fermi Linux.”

While Fermi Linux's version history starts with 5.0x in 1998, Scientific Linux's history starts with 3.0.1 in 2004. Both sites' current distribution version pages have near-identical tables of releases, dates and notes. The latest version for both is 5.x.

In a comment to an on-line Linux Journal article (www.linuxjournal.com/article/8253), William Roddy wrote, “Scientific Linux will work in any environment Red Hat would, and even better. It's a work of art and genius, and in the field of high-energy physics, if this Linux didn't work, it wouldn't be used. Yet, it is useful to anyone. If you demand stability and security, you will not do better. It will always be there and it will always be free.”

LJ Index, August 2008

1. Number of new toys the average child gets per year: 70

2. Size of the “baby industry”, in trillions of dollars: 1.7

3. Number of computers donated to the World Computer Exchange: 26,695

4. Schools, orphanages and libraries served by the World Computer Exchange: 2,543

5. Youth connected per year by the World Computer Exchange: 1,079,110

6. Number of languages other than English among contributors to DistroWatch: 42

7. Number of countries covered by Linux-hosted Global Voices Online: 192

8. Number of authors for Global Voices: 101

9. Number of languages into which Global Voices is being translated: 11

10. Number of computers in the Windsor Unified School District (California): 2,500

11. Percentage of computers at Windsor Unified to be replaced by Linux thin clients: 50

12. Estimated thousands of dollars in energy saved annually by Windsor Unified School District, thanks to Linux servers and thin clients: 25

13. Estimated thousands of dollars in energy saved annually by Windsor Unified School District by switching to free software: 50

14. Estimated thousands of dollars in equipment costs saved annually by Windsor Unified School District by switching to Linux gear: 280

15. Number of dollars in four spent on energy in schools that is unnecessary: 1

16. Months children at Villa Cardal, Uruguay, had spent with beta XO OLPCs: 6

17. Average number of files created per XO by Villa Cardal kids: 1,200

18. Number of MB, +/–10, produced per machine by Villa Cardal kids: 40

19. Thousands of XOs due for Uruguay in 2008: 90

20. Thousands of XOs ordered by Peru in December 2007: 260

1, 2: Pamela Paul in Parenting, Inc.

3–5: World Computer Exchange (May 10, 2008)

6: DistroWatch.com

7–9: Global Voices Online (www.globalvoicesonline.org)

10–14: The Press-Democrat (pressdemocrat.com)

15: Ed Tech Magazine (edtechmag.com)

16–20: Ivan Krstic

They Said It

Doc Searls

Issue #172, August 2008

I predict an odd period in history, where famous quotes from techies will all be 140 characters or less.

Here's to “Now” for as long as it lasts.

—Shelora Fitzgerald, quoted in an e-mail to Doc Searls

Productivity is up 99% because nothing is failing.

—Heather Carver, District Technology and Information Services Director for the Windsor Unified School District in California, which is migrating to a Linux-based system of servers and thin clients, www.edtechmag.com/k12/issues/may-june-2008/save-green-by-going-green.html

For about a year, however, Microsoft has been working to get a slimmed-down version of Windows to run on XO laptops. As a result, Negroponte said Tuesday that he expects XOs to soon have a “dual-boot” option, meaning users would be able to run Windows or Sugar....Eventually, Negroponte added, Windows might be the sole operating system, and Sugar would be educational software running on top of it.

It's easy to get caught up in the doom and gloom over OLPC's future. But keep things in perspective: they aren't as bad as they seem.

To the developers at OLPC and the tireless volunteer community contributors unsettled by Nicholas' plans—remember that no matter what happens, your work has not been for naught. Far from it. You brought the smiles to children's faces in Escuela No. 109 in Florida, Uruguay. Your work astounded me with the results, after little more than half a year, in the mountains of Arahuay, Peru. Bryan Berry's team is kicking ass on establishing a pilot in Nepal because of your work. And if you haven't read the linked articles yet, now's the time. Nothing can take away the real, palpable impact you've already had on children's lives.

—Ivan Krstic, April 25, 2008

Polynational Tux Curiosity

Doc Searls

Issue #172, August 2008

One could play for hours with Google Trends (trends.google.com). Not only does it show the spikes and slopes of search volume across time since the beginning of 2004, but it also lists the current top ten regions, cities and languages for each search. You can search for multiple keywords, comma-separated, and see colored lines for each. The results are usually more interesting than revealing. Such as:

  • Searches for Ronaldo and Beckham both spiked in 2005 at the last World Cup.

  • Searches for John Paul and Ratzinger peaked one after the other in early 2005 when the former died and the latter succeeded him as pope.

  • Searches for Linux and Microsoft have both gone down, the former slightly more than the latter.

  • Searches for Red Hat, SUSE and Ubuntu show declines for the first two and a steady rise for the third. Add Linux and find that Ubuntu has almost overtaken Linux in search volume. Does the rise in Ubuntu account for the decline in Linux searches? They seem somewhat reciprocal, but who knows?

What's more surprising are the top ten regions, cities and languages for each. Some results for Linux:

  • Russia is the top region, closely followed by India and the Czech Republic. The US is not among the top ten.

  • Beijing is the top city, followed by Tokyo and San Francisco, which is the only US city. The rest, in order, are Milan, Frankfurt, Augusta (Italy), Paris, Amsterdam, Madrid and London.

  • Russian is the top language, followed by German, Japanese, Italian, Chinese, Polish, Finnish, Portuguese, English and Swedish.

Some results for Ubuntu:

  • Norway is the top region, followed by Italy and Russia. The US is not on the list.

  • Milan is the top city, followed by San Francisco and Augusta (Italy). The rest are Helsinki, Madrid, Paris, Santiago (Chile), Frankfurt, Zurich and Mexico City.

  • Italian is the top language, followed by Finnish, Swedish, Russian, French, Spanish, German, Polish, English and Portuguese.

Google's qualification: “Google Trends aims to provide insights into broad search patterns. Several approximations are used when computing your results. Please keep this in mind when using it.”

Also keep in mind that these were results on May 13, 2008. Try them when you read this to see how they change. Having used Google Trends for a while now, I can assure you the answer is: a lot.

Ubuntu Stays atop a Volatile Distro Market

Doc Searls

Issue #172, August 2008

By 1988, Larry Bird had already won the three-point shootout twice. In the locker room, while waiting to defend his title, he said to his opponents, “Who's finishing second?” Then he went out and won for a third time.

Ubuntu is in the same position. In DistroWatch.com's Page Hit Ranking, Ubuntu has been #1 for three years running. Mandrake (now Mandriva) was #1 in 2004. Ubuntu took over in 2005, then repeated in 2006 and 2007. Meanwhile, the “Who's finishing second?” question is always up for grabs, changing almost as constantly as all the other positions on down the list. Table 1 shows the results for three measures in 2008, taken on May 11.

Table 1. Results

 2007Last 3 monthsLast 30 daysLast 7 days
1UbuntuUbuntuUbuntuUbuntu
2PCLinuxOSOpenSUSEOpenSUSEOpenSolaris
3OpenSUSEFedoraFedoraPuppy
4FedoraMintMintOpenSUSE
5SabayonPCLinuxOSMandrivaFedora
6MintMandrivaPCLinuxOSPCLinuxOS
7DebianDebianDebianSlackware
8MEPISDreamlinuxKubuntuMandriva
9MandrivaSabayonSlackwareMint
10Damn SmallDamn SmallDamn SmallDebian

Meanwhile, it's pretty clear that Ubuntu will hold its lead for at least the current year.

Meet Mii at LinuxJournal.com

Katherine Druckman

Issue #172, August 2008

WiiLi (www.wiili.org) is a Linux port in the works for the Nintendo Wii. Drivers are being developed for Wii features, including the SD card slot, wireless 802.11b/g and Bluetooth hardware, and for the remote.

A proof-of-concept Wii distribution was rolled out earlier this year by the GameCube Linux Project. It relies on a Twilight Hack developed by Team Twiizers. The hack leverages an exploit in a Wii game title to launch a Linux bootloader (see a video of this in action at www.linuxjournal.com/content/meet-mii).

We're eager to see Linux on the Wii. In the meanwhile, settle for seeing Linux Journal on the Wii—we all have our own Miis here in the office. Add Linux Journal as a Wii friend, and we'll send you any Linux Journal staffers you'd like. Our console number is: 2924 2525 5556 2687 (post yours in the comments at www.linuxjournal.com/content/meet-mii, and we'll add you too).

What They're Using: Geoffrey Goodell

Doc Searls

Issue #172, August 2008

Geoff Goodell has a PhD in Computer Science from Harvard and is currently researching Internet surveillance and network neutrality. Recently, I found myself sitting next to Geoff, who was typing casually at a furious speed on his ThinkPad, while looking at a black screen divided into four quadrants, each apparently operating in command-line mode with colored type far too small for my old eyes to read, but obviously quite legible to Geoff. Because it was too hard for me to eaveswatch, even at close range, I asked him if he was an Emacs or a vi guy. He smiled and replied, “vi”.

So, I asked him to let us know the rest of what he used, and here's his reply:

I use a constellation of machines running Debian Linux. I store most of my working files (such as research, code, papers and personal Web pages) in AFS, which allows me to share data across machines seamlessly. For authentication, I use a combination of MIT Kerberos and OpenSSH public keys. I exchange multimedia files using rsync, and I use MPlayer for audio, video and streaming.

For hardware, I use mainboards by Gigabyte, monitors by NEC and Samsung, IBM M13 keyboards and multihead video cards by NVIDIA. My laptop is an IBM ThinkPad T41, which also runs Debian Linux.

For software, I try to keep a low profile. My window manager is ion2, which allows me to tile the screen with xterms and mostly avoid using the mouse. My favorite font is 6x10, and my color scheme is something that evolved over the years. For text editing, I use Vim. For e-mail, I use Mutt and GnuPG. For IRC, I use Irssi. For browsing, I use Firefox plus NoScript plus AdBlock Plus. For privacy, I also use Tor. I run Linuxnet IRC servers, Apache Web servers and an exim4 mail server. I coordinate non-IRC instant messaging through a set of gateways, so that my IRC client handles all the interaction. I use LaTeX to write papers, personal letters and presentations (occasionally I use OpenOffice.org for slides).

My ISP is Speakeasy. My domain registrar is GANDI (in France).

When not near a workstation or laptop, I have a Treo 750p (which runs a lovely SSH client called pssh) and a Motorola H12 noise-canceling Bluetooth headset.