“It’s been a quiet week, and the patch from rc7 is tiny, so 3.18 is out,” Torvalds wrote in the official announcement email on Sunday evening.
The merge window for Linux 3.19 is now open, but in the meantime developers are still struggling to understand an occasional lockup problem that has been afflicting some users of Linux 3.17.
“I’d love to say that we’ve figured out the problem that plagues 3.17 for a couple of people, but we haven’t,” Torvalds explained. “At the same time, there’s absolutely no point in having everybody else twiddling their thumbs when a couple of people are actively trying to bisect an older issue, so holding up the release just didn’t make sense. Especially since that would just have then held things up entirely over the holiday break.”
Even as the bisection proceeds on that thorny issue, then, Linux 3.18 is here in all its glory. Here are a few of the new release’s more interesting features.
1. The Fastest Networking Stack Yet
A variety of networking performance improvements have been added to the Linux kernel, enabling relatively small systems to drive a high-speed interface at full wire speed, for example, even when small packets are being transmitted. Small-packet performance has been a problem area for Linux, as developer Jonathan Corbet noted in an early description of the 3.18 merge window, making this a particularly important improvement. “All told, the changes are relatively small,” he explained separately. “But small changes can have big effects when they are applied to the right places. These little changes should help to ensure that the networking stack in the 3.18 release is the fastest yet.”
2. Snappier Suspend and Resume
Users with large servers will likely notice much faster performance in suspend and resume operations as a result of a commit added to Linux 3.18 back in October. “This tree includes a single commit that speeds up x86 suspend/resume by replacing a naive 100msec sleep based polling loop with proper completion notification,” wrote developer Ingo Molnar in the official pull request. “This gives some real suspend/resume benefit on servers with larger core counts.”
3.The bpf() System Call
After several months of work on the kernel’s Berkeley Packet Filter (BPF) virtual machine, the bpf() system call has now been added to the mainline kernel. “The hooks to use this code (in tracing and packet filtering, for example) will take a little longer, but the core support for a ‘universal virtual machine’ in the kernel is now present,” Corbet explained. BPF has been extended beyond packet filtering into a number of other roles, he noted in a separate report, and numerous new functions are enabled by the use of this single bpf() system call, including the ability to load BPF programs.
4. A World of New Hardware Support
Last but not least, new drivers and broadened hardware support are a part of pretty much every new release of the Linux kernel, and version 3.18 is no exception. Among the inclusions this time around are a variety of audio codecs, touch screens, systems-on-a-chip (SoCs), USBs and touch and haptic controllers; of particular interest for gaming enthusiasts is support for the Razer Sabertooth controller.
Of course, there are countless other features and fixes in Linux 3.18 as well. For a more complete account, check out the changelog now under construction on Kernel Newbies.