Linux Kernel 3.11 Release Boosts Performance, Efficiency

44

Linus Torvalds released the 3.11 “Linux for workgroups” kernel on Monday with many new features and fixes that improve performance and lower power consumption. Changes are also in keeping with recent industry trends toward the energy-efficient ARM architecture and the use of solid state drives (SSD).

Zswap is a new feature that tackles “one of the biggest threats to performance,” according to LWN Editor Jon Corbet: swapping. Using the existing Frontswap API, Zswap takes pages, or chunks of RAM, that are being swapped out to a pre-configured space on the hard disk and compresses them into “a dynamically allocated RAM-based memory pool,” according to the zswap documentation. (See this Linux.com article on how Linux swap space works.)

Tux“zswap basically trades CPU cycles for potentially reduced swap I/O. This trade-off can also result in a significant performance improvement if reads from the compressed cache are faster than reads from a swap device.”

Potential benefits include improved performance for desktop and laptop users with limited RAM, hypervisor guests sharing the I/O subsystem, and those using SSDs as swap devices “by drastically reducing life-shortening writes,” according to the documentation.

AMD Radeon DPM Support

Building on the improved Radeon graphic card driver support in 3.10, the latest release adds experimental code for dynamic power management (DPM) support of AMD’s open source Linux driver. This new feature allows the GPU core and memory frequencies to scale up or down depending on the load.

“The AMD Catalyst driver has long supported dynamic power management under the marketing names of PowerPlay and the like, but only now is the support coming to the open-source Linux driver for the HD 2000 series of graphics processors and newer,” according to Phoronix.

Phoronix early testing found that DPM can boost GPU performance and lower power consumption and temperatures, depending on the GPU boot clock speeds. Because the code is experimental, it is off by default. To enable it “pass the radeon.dpm=1 module parameter,” according to the changelog.

Low Latency Network Polling

This relatively small patch to the networking subsystem will potentially improve performance for users such as high frequency trading systems that require ultra low latency, wrote LWN’s Corbet in May.

“Most interface drivers will disable the per-packet interrupt when the traffic level is high enough and, with cooperation from the core networking stack, occasionally poll the device for new packets,” Corbet says. But for low-latency users, “The time between a packet’s arrival and the next poll is just the sort of latency that they are trying to avoid.”

The problem is that notifying the system of new packet arrivals would generate thousands of interrupts per second and severely degrade performance, according to the 3.11 changelog.  “This release allows applications to request a per-socket low latency poll interval.”

KVM/ Xen support for 64-bit ARM

Support for the KVM and Xen open source hypervisors comes in advance of the 64-bit ARM architecture’s release into the wild. Touted as an energy efficient architecture, ARM has been widely used in mobile devices and made early forays into the server space. But support for ARM64 presages the broader adoption of ARM in the enterprise, with a “flood” of 64-bit ARM-based parts expected in 2014, according to EE Times.  

ARMv8 with 64-bit support “enable(s) new categories of applications for superphone and tablet computing, while bringing the ARM benefits of efficient design and low power consumption to applications where 64-bit computing is already established, such as servers and network infrastructure, promising to revolutionize the data center,” reads ARM’s description of the 64-bit architecture.

Linux kernel support for KVM and Xen on the new architecture is good news, then, for data center managers who want to take advantage of the latest ARM hardware and still use an open source virtualization platform.

“Xen has been around for the x86 architecture for over 10 years but as the ARM processor starts to cream into the data center the need for virtualization on this new architecture is becoming evident,” wrote Mark Hinkle in a blog post earlier this week. “As ARM gains ground not only as a mobile platform but that of the server it’s going to be important to have the same virtualization capabilities as we have on x86.”

This post only briefly touches on the many new features in Linux 3.11. For the full list visit kernelnewbies.org.