A Look at Linux 3.1

176

Just three months after the Linux kernel pushed the odometer past the 3.0 milestone, Linus Torvalds has pushed out another stable kernel. The 3.1 Linux kernel has several new features, additional hardware support, and a little help for programs that were hard-wired for the 2.6.x numbering scheme.

Coming to you live from Prague, Torvalds released Linux 3.1 while attending the the Linux Kernel Summit. This release has support for OpenRISC, support for Near-Field Communication (NFC), and a new project called cpupowerutils.

The OpenRISC processor, as the name suggests, is a GPL’ed RISC architecture. It’s considered stable, and as the wiki says, has been implemented in some commercial ASCIs and field-programmable gate arrays (FPGAs). You probably won’t be seeing the OpenRISC chip in any systems at Best Buy, but it’s a step forward for folks who want a fully free system from the chipset up.

NFC is becoming a popular feature in smartphones. A lot of folks are banking on (pardon the pun) NFC becoming a popular method for making payments by smartphone. NFC could also be used by smartphones to turn them into ID cards, keycards, or for other types of authentication. It should be interesting to see what distros do with NFC and whether it’s used much outside of phones.

The cpupowerutils project is a tool for providing an overview of the power tuning tools that come with different architectures, and managing those. We’ll take a longer look at cpupowerutils soon, so that when distros start shipping 3.1 kernels (or later) you can take advantage of those features.

More Hardware

The OpenRISC architecture isn’t the only hardware that’s getting attention with 3.1. As usual, you’ll find quite a few driver changes, improvements, and additions in 3.1.

With 3.1 the kernel adds keyboard backlight support and thermal sensors for the asus-wmi driver. The OLPC folks get a bunch of additional features in the olpc driver, including suspend/resume support, lid switch functionality, and ebook switch functionality.

The ARM tree now has Xillinx board support, and initial support for Cragganmore carrier card and Banff CPU module on Wolfson Microelectronics reference boards.

You’ll also find additional sound card support (Creative Titanium HD) and a driver for the Faraday FTGMAC100 Gigabit Ethernet chip.

Other Nifty Features

For shops using iSCSI, the kernel will now have a new iSCSI implementation. The new implementation is a full in-kernel implementation of the iSCSI target mode. LWN covered this in January, and is recommended reading if you care about iSCSI in the kernel.

One thing to be wary of in 3.1 is the addition of filesystem barriers enabled by default. According to the Kernel Newbies page, “Filesystems such as XFS, Btrfs and Ext4 already use and enable barriers by default; Ext3 supports them but until this release it did not enable them by default: while the data safety guarantees are higher, their performance impact in Ext3 is noticeable in many common workloads, and it considered that it was an unnaceptable performance regression to enable them by default.”

The change in 3.1 is to follow what distros are already doing. If you see performance problems, they recommend turning off barriers with the “barriers=0” option.

By the way, if you’ve been hoping for Wii Remotes, this kernel brings support for those as well.

While users get to start using the new goodies, it’s on to the next version for the kernel team. In the release announcement, Torvalds says the merge window for 3.2 is open. Most of what’s going to be in 3.2 should already be in linux-next, says Torvalds. “Because the -rc series was longer than usual, and as a result linux-next is bigger than usual, I’m going to be much more of a stickler for “has your patch series been in linux-next” than usual. If I get a big pull request for things that I can’t find in my linux-next branch, I will simply not pull it – we have enough code that has gone through the proper channels as it is, and we don’t need anything extra.”

All in all, a typical kernel release cycle – nothing Earth-shattering, just a series of steady improvements and additions that keep Linux on the cutting edge of support for everything from mobile phones to supercomputers.