UpFront

diff -u: What's New in Kernel Development

Zack Brown

Issue #178, February 2009

At the most recent kernel summit, Greg Kroah-Hartman and a variety of other kernel folks decided to create the Staging Subsystem. It's not really a subsystem in the normal sense of the word. It has no particular technical focus. Instead, the Staging Subsystem is a place in the kernel source tree where new coding projects can go, before they are really ready to be included in the kernel proper. It's a way to get code into public use quickly, by including it in an isolated part of the tree. All kinds of crazy stuff can go in there. Greg has listed himself in the MAINTAINERS file as the official maintainer, but his task will be quite different from traditional code maintenance. He plans to make sure submissions actually compile, but beyond that, there will be a wide array of breakage, ugliness and general chaos in the Staging Subsystem. This is all according to plan.

The overall motivation for inflicting this kind of mess on the kernel is to accommodate Linus Torvalds' new efforts at accepting code more quickly into the main tree. Because Linus intends to take code that has been tested less thoroughly, and perhaps written less carefully, into the kernel, Greg and others want to give that code every chance to be tested and improved before Linus accepts it. All of this should result in an ever-increasing speed of kernel development that ultimately probably was made possible by the transition from BitKeeper to git many moons ago.

Linus also has expressed a desire to change the way kernel versions are numbered. Ever since he decided to throw over the old paradigm of “x.even is for stable series”, and “x.odd is for development series”, the kernel has remained at version 2.6.x, with “x” just getting bigger and bigger. With no clear threshold for incrementing either the 2 or the 6, Linus, Greg and others are having a harder time dealing with all the versions. Imagine looking at a dozen different version numbers each day. They start to blur together. Linus asked folks to consider alternative version-numbering schemes that would be easier to read and just better in general. Unfortunately, he didn't give more clarity than that, and when Greg opened up a discussion on the mailing list, things degenerated into bickering.

The issue of the version-numbering scheme is closely related to Linus' new plan of accepting code more quickly into the kernel and to keep development as active as possible. When he abandoned the old even/odd system, the old version numbering stayed in place, even though it no longer meant anything. Now it seems clear that a new versioning system will be put in place in the near-to-medium term. But, judging from the discussions that already have taken place on the issue, it may be a while before any meaningful suggestion comes up. A number of developers, including Alan Cox, think any system will have drawbacks, and so keeping the current one ultimately will be best. But Linus wants a change, so it's very likely that he'll pick a new number scheme before too long.

Efforts to eradicate the Big Kernel Lock (BKL) continue apace. Frederic Weisbecker has come up with a tool to help folks target which cases of the BKL should be eliminated first. Frederic's tool, the Big Kernel Lock Tracer, tells how much time is used by each instance of the BKL over the course of a system's uptime. Instances of the BKL that use the most time presumably would be the best targets for replacement by simpler locking structures. The BKL itself has proven to be remarkably difficult to get rid of. Because it's so ham-handed in its approach to resource locking, no other parts of the system can do anything while a piece of code holds the BKL. Linus has wanted to replace it with simpler locking structures for a long time, which would allow the rest of the system to continue to function and lock up access only to the specific resources in question. But the BKL is so ubiquitous in the kernel, and the locking requirements for much of its usage are so complex and individually nuanced for each situation where it occurs, that a straightforward replacement is often just impossible. In recent months, however, efforts to remove the BKL have become more intense, and things like Frederic's tool only increase that intensity.

Representing the load average of a running system as just a single number has some drawbacks—what if you want to know the networking load average as opposed to the disk usage load average? Sena Seneviratne and David Levy have been working on a mechanism that would separate out those different kinds of load averages and make those calculations available to the user at runtime. It's possible that the work they're doing may make it into the kernel at some point, but as Arjan van de Ven points out, it's important not to break user space. All the existing tools that rely on the current meaning of the load average must continue to work. His suggestion to Sena and David is that they feel free to add as many load average stats as they please, so long as they keep the original total load average as well.

Browsershots

LJ Staff

Issue #178, February 2009

The browsershots.org Web page is designed to replace your long list of friends directly. It offers a choice of 80 different OS/browser combinations. All you have to do is check the ones with which you want to test your page, put in the URL and click Submit. A few minutes later, you can view the results as screenshots.

LJ Index, February 2009

1. Billions of photos on Facebook by October 10, 2008: 10

2. Range in terabytes of photos uploaded to Facebook daily: 2–3

3. Billions of photo images served by Facebook daily: 15

4. Millions of merchants on the Amazon platform: 1.2

5. Billions of dollars spent on 2008 US presidential campaigns: 2.4

6. Billions of dollars spent on 2008 US congressional campaigns: 2.9

7. Billions of dollars spent by Americans in 2008 on potato chips: 10.6

8. Thickness in inches of a dollar bill: .0043

9. Stack height in feet of one million $1 bills: 358.33

10. Stack height in miles of one billion $1 bills: 67.86

11. Stack height in miles of 700 billion $1 bills: 47,506

12. Apache's percentage share among Netcraft's Top Developers in October 2008: 50.43

13. Number of Linux-based hosting companies among Netcraft's top ten most-reliable in September 2008: 4

14. Number of Linux-based hosting companies among Netcraft's top two most-reliable in September 2008: 2

15. Number of Linux-based hosting companies among Netcraft's top 50 most-reliable in September 2008: 24

16. Minimum number of Free the Penguin Multistation SUSE Linux Desktops deployed by November 2008: 20,000

17. Minimum number of schools receiving Free the Penguin Multistation SUSE Linux Desktops by November 2008: 3,000

18. Estimated millions of ASUS Eee PCs shipped in 2008: 6

19. Percentage of ASUS Eee PCs running Linux: 30

20. Millions of new ASUS Eee PCs for 2008 running Linux: 2.4

1–3: Don Beaver of Facebook

4: Werner Vogels of Amazon

5, 6: Center for Responsive Politics

7: George Will in the Washington Post

8–11: Betty Schier, the News Review (Roseburg, Oregon)

12–15: Netcraft.com

16, 17: Omni, Userful and Novell

18–20: ComputerWorld

Linux on the Label

Shawn Powers

Issue #178, February 2009

Anyone that uses Linux regularly is familiar with the “Google to see if it works under Linux” procedure before buying any hardware. I was thrilled when I saw the ad for a USB Atari 2600 joystick clone that had a label on the box claiming its Linux compatibility. How cool!

Smarter Than Phones

Doc Searls

Issue #178, February 2009

The phone business is changing at a rate so fast, and on such a curved path, that Heisenberg's Uncertainty Principle (en.wikipedia.org/wiki/Uncertainty_principle) comes to mind. Where it is and where it's going may be conjugate variables, but trying to reconcile the two is kind of futile.

In November 2008, the research firm Canalys released its Q3 2008 report on “smartphones” (www.canalys.com/pr/2008/r2008112.htm). Worldwide sales were up 28%. Nokia still held the lead with a 38.9% share of shipments, but that was down 3.5% from a year earlier, and the number of phones shipped was down too. Apple meanwhile moved into second place with a 17.3% share, with unit numbers up 523% over the year before. And, that's with just two generations of a single phone—not a fleet of phones such as Nokia's...and everybody else's.

Among operating systems, Symbian was first and Apple second. Following were RIM, Microsoft and Linux, which had a 5.1% share and 49% growth. But that was before Android.

T-Mobile's Android phone hit only last October 17, 2008, early in Q4. Here's a telling quote from the report: “Motorola, currently holding onto fourth place in smartphones thanks largely to its Linux-based models, recently announced it would move away from using the Symbian OS and focus more on Android.” Which is also Linux.

Both the iPhone and the Androids are platforms for running countless applications, only one of which is voice telephony. I know lots of people whose day-to-day digital lives are moving from their laptops to their iPhones, BlackBerries and, yes, Androids. Although the “war” between iPhones, BlackBerries and Androids will attract the most attention, all three will win the battle of computing over telephony in the mobile world.

Still, it's hard to do serious computing apps on networks built for routing calls and charging out minutes. It'll take longer for that battle to be won, but it'll happen too. The phone system will become a data system. It will be borged by the Net.

What happens next is up to developers. For more about that, see this month's EOF, “Net Development”, on page 80.

Linux Gets Faster with Splashtop

Doc Searls

Issue #178, February 2009

One of the nagging problems for Linux is that the most popular laptops are still codesigned by Microsoft and its OEMs. It's not for nothing that laptops come with stickers on the bottom that say, “Windows Vista—Business OEM Software” or whatever. These are not white boxes. You can get Linux running on them, but the hermit crab approach isn't the swiftest route to market leadership.

It's starting to look like that route may come through Splashtop, by DeviceVM. Splashtop starts a laptop in just a few seconds. Its Web site explains:

Splashtop is preinstalled on the hard drive or in the onboard Flash memory of new PCs and motherboards by their manufacturers. Splashtop is a software-only solution that requires no additional hardware. A small component of Splashtop is embedded in the BIOS of the PC—that's the part that runs as soon as you press the power button.

Within Splashtop, you have the choice of running one of its applications, such as the Splashtop Web Browser, or booting your operating system. Splashtop is compatible with any operating system, including Windows and Linux.

Splashtop has similar networking capabilities to what you find in other operating systems. It can connect to networks over Wi-Fi, LAN, xDSL and cable. WEP, WPA and WPA2 wireless security standards are supported.

Note that first line. Splashtop does for Linux what those old OEM deals did for Microsoft: gives it a leg up, an advantage right out of the startup gate (pun intended).

At the time of this writing, Splashtop is preinstalled on laptops from ASUS, VoodooPC and Lenovo, and on all motherboards from ASUS. Every one of them is winning where it counts most with users—by saving time.

Splashtop is also committed to open source. At the time of this writing, it's still building its SDK. Check the Developers page at www.splashtop.com for progress on that. Meanwhile, expect to see more news about how Linux is winning the battle for quick startup times.

They Said It

The hungry and cold unemployed masses aren't going to continue giving away their intellectual labor on the Internet in the speculative hope that they might get some “back-end” revenue. “Free” doesn't fill anyone's belly; it doesn't warm anyone up.

...this recession will be great for free and open source because of the shortage of cash. Last recession saw the mainstream legitimisation of open-source operating systems (youngsters, take note: there was a time when it wasn't automatically okay for an IT department to use Linux), because it was clear and away the most cost-effective choice. The saying I use is, “come for the price, stay for the quality”. Perhaps this recession will legitimise many of the applications (CRM, finance, etc.) higher up the stack.

Since people contributing to open-source projects and on-line communities have not (unless paid to do so) been paid to do so, thinking that they'll stop just because they have potentially more time on their hands doesn't make much sense. Contributors to free stuff usually do it for reasons other than money.

Open is the new black.

CERN's decision to make the Web foundations and protocols available on a royalty-free basis, and without additional impediments, was crucial to the Web's existence. Without this commitment, the enormous individual and corporate investment in Web technology simply would never have happened, and we wouldn't have the Web today.

Who Will YOU Be at LinuxJournal.com?

Katherine Druckman

Issue #178, February 2009

Linux Journal readers are part of a pretty great community. Most of you like to come hang out with us over at LinuxJournal.com from time to time, and we'd like to make that experience a little more personal and fun. There will be some cool new features and ways to interact in the coming months, but to kick things off, we thought we'd encourage you to upload an avatar to represent yourself on the site. It can be a photo, graphic, text or anything you can dream up (as long as it is...ahem...“appropriate”). Look for some new features soon, and in the meantime, we look forward to seeing your new on-line identity. You can spot me on-line pretty easily now by my avatar too.

What They're Using: Mark Pilgrim and the Latest Essentials

Doc Searls

Issue #178, February 2009

Mark Pilgrim's original 2006 list of Linux Essentials (diveintomark.org/archives/2008/10/28/essentials-2008) was one of the inspirations for “What They're Using”. For many, it comprised a handy shopping list of free stuff, graced by proper snarks in the general direction of proprietary alternatives. About Amarok, Mark wrote, “It's just like iTunes except it automatically fetches lyrics from Argentina, automatically looks up bands on Wikipedia, automatically identifies songs with MusicBrainz, and its developers are actively working on features that don't involve pushing DRM-infected crap down my throat.”

Well, just in time for this month's “What They're Using”, Mark came out with his Essentials, 2008 edition. With his permission, here is his posted text, verbatim:

Essentials, 2008 edition

Via email, “Chris” asks:

Enjoyed the 2006 Linux essentials list....Do you have any plans to update the Essentials list for the latest and greatest that Linux 2008 has to offer?

Well, I do now.

1. Debian GNU/Linux, because of Firefox bug 354622. In particular, comment 39 outlines Debian's position. (Yes, I know Debian still ships with nonfree firmware, so Debian's position on Firefox is inconsistent. But no firmware developer has ever tried to force Debian to “bend the DFSG a little”).

2. GNU Emacs, still.

3. Iceweasel (see above) + Adblock Plus + NoScript + NoSquint + Greasemonkey.

4. Pidgin (formerly GAIM).

5. getmail instead of Thunderbird. It turns out I don't actually want a desktop e-mail client. I use Google Apps For Your Domain to manage my own address @ my own domain, and I archive it with a nightly cron job using getmail.

6. gPhoto 2 instead of digiKam. It turns out I don't actually want a photo library, just dated directories of image files imported directly from my camera.

7. On the other hand, I do want a music library, and Amarok is still best of breed.

8. KSnapshot, KTorrent, Konversation, k3b and k9copy are also best of breed.

9. There is still no good iMovie clone for Linux, but OpenMovieEditor looks promising. I learned about it at FSOSS last week. I fear that Linux video editing will always just “look promising”.

10. I've warmed up to GIMP, which has largely replaced Krita for my (very light) graphic-editing needs. At FSOSS, I learned about ingimp, which allows you to opt in to collect and aggregate detailed statistics on how real people use GIMP.

11. GNOME Do, a Quicksilver-inspired launcher.

12. MPlayer, specifically the version provided by the awesome debian-multimedia.org.

On the command-line side, I now use urxvt, screen, ZSH and these configuration files. If you use the command line more than once a day and haven't learned about screen yet, you're missing out. I still use SSH heavily, in too many ways to count. If you use SSH and haven't learned about SSH keys and SSH tunneling yet, you're really missing out. Also: sshfs, rsync and SSH, SSH VPN, &c. (Note: most of these work on Mac OS X too, and Windows with Cygwin or PuTTY.)

I still use rsync for backups to my NAS, even though I have two Drobo enclosures that I manage with drobo-utils. RAID is not a backup solution, and ZFS on Linux isn't quite there yet.

Things I don't use anymore:

1. A desktop e-mail client. As mentioned above, I use Gmail (on my own domain, so I keep my e-mail address).

2. OpenOffice.org, or any other desktop office suite. I use Google Docs, which exports to Open Document format. I keep studious local backups in ODF/ODS/etc.

3. VLC. There is very little that MPlayer can't handle.

4. Democracy Player. Ze frank doesn't post daily anymore, and I don't particularly follow other video podcasts.

5. KMyMoney. It's good, but I fell behind in organizing my finances and it got left on the wayside.

6. EasyUbuntu (now Medibuntu). Debian-multimedia.org satisfies all my illicit patent-encumbered needs.

7. Beagle. GNOME Do is more than enough for my local search needs.

8. Konsole. RXVT-Unicode instead.

9. AllTray.

10. Brightside.

I also no longer use the ratpoison window manager. I've settled on XFCE instead, with the PCMan file manager. I encourage every Linux user to try an alternate window manager for at least a month. Find one that fits your brain and customize the hell out of it.

For linky goodness, go to Mark's source at diveintomark.org/archives/2008/10/28/essentials-2008.