It's been a busy, busy year for the Linux kernel. A big version bump, 20th anniversary, and countless improvements may make 2011 the best year yet for Linux.
The Big 3.0 and 20th Anniversary
Granted, the jump to 3.0 wasn't a technical achievement so much as Linus giving in to the voices in his head. Still, the 3.0 milestone is pretty nifty.
The version bump went hand in hand with the 20th anniversary of Linux, of course. As Linus wrote when the 3.0 kernel went out, "it's simply a way to drop an inconvenient numbering system in honor of twenty years of Linux. In fact, the 3.0 merge window was calmer than most, and apart from some excitement from RCU I'd have called it really smooth."
Long Term Kernel Support for Consumer Devices
Another important milestone in 2011 is the announcement of long term kernel support for consumer devices.
The Long Term Support Initiative (LTSI) for consumer devices effort is a result of a workgroup including Hitachi, LG Electronics, NEC, Panasonic, Sony, Toshiba, Samsung, and others. This will ensure that a kernel tree used by those companies is supported for two to three years, about the typical lifespan of a consumer electronics device.
Xen Dom0 Support
But that's not to say that the 3.0 kernel was without improvements. One of the major milestones this year was the addition of Xen Dom0 support. It's taken a very long time to get to that point, so it's exciting that we've finally gotten there.
What does Dom0 support mean? Basically, it means that the Linux kernel can act as a Xen host out of the box. Obviously, folks have been using Linux as a host for Xen for quite a while, but it required a bunch of patches to the kernel – either from a third party or the distribution vendor had to provide them.
Having Dom0 means that there's less work for vendors to do for Xen support because it's being (finally) carried in the upstream kernel.
Bye Bye BKL
As we covered earlier this year, the Big Kernel Lock (BKL) has been on the hit list for quite a while. How long? Well, how about since the lock was added to help the kernel work on systems with two or more processors? Thanks to years of hard work, the BKL can finally be put to rest. Here's another way that the Linux kernel can serve as an example to other projects: Decisions made early on can last a long, long time.
Quiet Android Integration
There was a fair amount of coverage about Android being a "fork" of Linux, despite the fact that most major vendors diverge from the mainline kernel in what they ship.
What hasn't gotten as much coverage is the fact that many of Android's patches are making their way into the mainstream kernel. Greg Kroah-Hartman says, "by the 3.3 kernel release, the majority of the Android code will be merged, but more work is still left to do to better integrate the kernel and userspace portions in ways that are more palatable to the rest of the kernel community. That will take longer, but I don't foresee any major issues involved."
So, to be clear, the Android code isn't fully integrated — but it's making great progress.
ARM Improvements, Too
Another issue for Linux has been confusion in the ARM tree because of the number of companies developing in isolation and not integrating into upstream.
This has been a big focus for the kernel community this year, and as Nathan Willis reported from LinuxCon Europe, it's getting much better.
Driver support and minor improvements in the kernel this year are too numerous to even think about listing them all. Some of the miscellaneous milestones this year include:
- The cpupowerutils project.
- Support for OpenRISC.
- Addition of support for Supervisor Mode Execution Protection (SMEP).
- Introduction of user namespaces.
- Introduction of IP Sets.
- The pstore filesystem for catching core dumps when the kernel dies.
- Ext4 will use write barriers by default.
And, oddly enough, the kernel got its own Google+ page.
That's 2011 in a nutshell, just imagine what 2012 will bring. Any predictions?