Linux 3.15 Speeds Up Suspend/Resume Performance

The new open-source Linux kernel improves virtualization for Windows and Mac OS X guests and accelerates resume from suspend.

Linux logo

The third major milestone release this year of the open-source Linux kernel is now available, providing users with new and improved features. The Linux 3.15 kernel follows Linux 3.14, which was formally released on March 30.

Among the enhanced capabilities in the Linux 3.15 kernel is improved suspend and resume performance. The new suspend and resume code "provides a tangible speed up for a non-esoteric use case (laptop resume)," Linux kernel developer Dan Williams told Linux creator Linus Torvalds in a Linux Kernel Mailing List (LKML) message.

The suspend and resume code impacts users who run Linux on laptop computers where there is a need to suspend disk and operating system operations when a device is closed and then start up again when the device is opened. Williams noted that his code contribution was inspired by an analysis and proposal from Intel developer Todd Brandt. Brandt's proposal specifically dealt with a suspend/resume speed improvement, enabling a rapid wakeup from a device's suspend state.

"Any commands issued to the hardware will be queued up and will be executed once the port is physically online," Brandt wrote. "Thus no information is lost, and although the wait time itself isn't removed, it doesn't hold up the rest of the system which can function on what's left in RAM and cache."

In his proposal, Brandt was able to demonstrate up to a 12x speed improvement from 5.4 seconds down to only 0.45 seconds for suspend/resume operations on a system running Ubuntu Linux 13.04 with a 3.40GHz Intel Core i7-3770 CPU.

From a virtualization perspective, the Linux 3.15 kernel includes a number of improvements to the open-source KVM (Kernel-based Virtual Machine). Linux kernel developer Paolo Bonzini outlined the key changes to KVM in a Linux Kernel Mailing List (LMKL) message.

"For x86 there are optimizations for debug registers, which trigger on some Windows games, and other important fixes for Windows guests," Bonzini wrote. "There's also a fix/workaround for OS X guests, nested virtualization features (preemption timer), and a couple kvmclock refinements."

Linux 3.16 Up Next

With the Linux 3.15 release, Torvalds diverged somewhat from the long-established process by which new kernels are developed. Typically, the merge window for new code set to land in the Linux kernel does not open until the kernel that is currently in development is formally released. In the case of Linux 3.15, that would have meant that the merge window for the Linux 3.16 kernel would not open until June 9.

Due to Torvalds' own vacation schedule and a desire not to be the reason for delay in the release of Linux 3.16, he actually opened up the merge window for Linux 3.16 on June 1.

"I'm not entirely convinced I liked the overlap, but it seemed to work ok, and unless people scream really loudly ('Please don't _ever_ do that again') and give good reasons for doing so, I might end up doing that overlapping merge window in the future too if it ends up helping out with some particular timing issue," Torvalds wrote in his release message for Linux 3.15. "That said, I also don't think it was such a wonderful experience that I'd want to necessarily do the overlap every time, without a good specific reason for doing so."

Sean Michael Kerner is a senior editor at eWEEK and Follow him on Twitter @TechJournalist.

Sean Michael Kerner

Sean Michael Kerner

Sean Michael Kerner is an Internet consultant, strategist, and contributor to several leading IT business web sites.