HackerBoards Sponsor ads:

Released several weeks late due to malware attacks on kernel.org in August, the Linux 3.1 kernel is out now, with a variety of enhancements to performance, virtualization, and power management. It also includes support for near field communication (NFC), the OpenRISC open source CPU, Nintendo's Wii controller, and 3D acceleration with Nvidia GEForce graphics processor units (GPUs).

The new kernel arrives more than three months after Linux 3.0, delayed primarily by a late-August malware attack on kernel.org. Although the attacks compromised several key servers, the source code for the Linux kernel does not appear to have been affected, thanks to its "git" distributed revision control system.

For starters, Linux 3.1 provides support for near field communication (NFC) short-range wireless radios. NFC is supported by Android 2.3 and later releases, including a new "Android Beam" peer-to-peer transfer feature in Android 4.0 , and is incorporated in Google's Android-based Google Wallet mobile payment initiative. Some 552 million NFC handsets are expected to ship in 2016, according to ABI Research.

OpenRISC 1200 block diagram

Linux 3.1 also adds support for OpenCores.org's open source OpenRISC processors, specifically the 32-bit, RISC-based OpenRISC 1000 family. The OpenRISC 1200, for example, has been used in a variety of Linux-based system on chips (SoCs), including Vivace's VSP200. The OpenRISC processors are offered as open designs licensed under LGPL, with freely available software development tools, libraries, operating systems, and applications.

One popular improvement is likely to be the addition of Nvidia Nouveau driver code for Mesa and X.org, as well as 3D acceleration on several Nvidia GeForce graphics chips. As Thorsten Leemhuis explains it in his Linux 3.1 overview on The H, the Nouveau-DRM/KMS driver will be able to generate firmware for GPUs that use Nvidia's Fermi architecture. As a result, Linux now exploits the 3D functions of Nvidia's recent GeForce 400 and 500 GPU series.

Linux gamers should appreciate the new driver for the Nintendo Wii Remote. There are also some new Wi-Fi drivers, including a "rtl8192de" driver that supports Realtek's RTL8192DE and RTL8188DE PCI-Express Wi-Fi chips.

Performance and file-system enhancements

Under the hood, Linux 3.1 offers various performance improvements, including dynamic throttling of "writeback" — the process of writing data from RAM to the disk. The new feature temporarily blocks processes until the current data has been written to the disk, thereby reducing bottlenecks. It also avoids "random IO patterns which are not good for performance," according to KernelNewbies.org.

In addition, the kernel's default "slub" slab allocator now implements wider lockless operations, said to speed up slab-intensive workloads. In addition, the Virtual File System (VFS), which mediates between the file-system and user space, is now said to be more scalable.

There's not a lot of file-system news in this release, but Linux 3.1 does alter the Ext3 file system to enable "barriers" by default. These barrier instructions are sent by the file system to improve robustness in case of a crash. They have previously been seen to reduce performance on many systems, but the new version appears to have greatly reduced the performance tradeoff, motivating the kernel team to make the feature a default.

The newer Ext4 filesystem has been improved to speed up batched discard, a technique said to be useful for solid state drives (SSDs) and thinly provisioned storage, according to The H's Leemhuis. Meanwhile, the experimental Btrfs filesystem offers an improved locking mechanism that can make the Btrfs "significantly faster during read-heavy workloads," according to his report.

New iSCSI support, plus power and virtualization improvements

Other storage-related enhancements include a new iSCSI implementation. In addition, the MD layer, otherwise known as software RAID, has gained bad block management support, says KernelNewbies.org. Also, a "Cpupowerutils" power consumption management userspace utility has been added, featuring a hardware monitoring tool.

On the networking front, "ipset" support has been improved so that IP sets are provided with filter information. This is said to make it easier for firewall code to access the tables

As usual, the kernel continues to refine its virtualization support, with further enhancements to both KVM and Xen code. Linux 3.1 adds Xen PCI backend support, which enables the kernel to pass through PCI and PCI-Express devices to Xen guests, according to Leemhuis. In addition, KVM is now said to offer nested virtualization, letting developers start a guest system from within another guest system on Intel processors.