Linus Torvalds releases Linux 5.16 rc1 with new performance-enhancing memory tech

Linus Torvalds has loosed the first release candidate for version 5.16 of the Linux kernel.

In his Sunday afternoon State of the Kernel announcement, Torvalds indicated the merge window for the new release did not include any “uhhuh, things aren’t working and now I need to bisect where they broke” moments. Work therefore proceeded swiftly, so much so that not even travelling for a few days and using a laptop (which Torvalds wrote is “usually fairly painful”) delayed progress.

Torvalds wrote that Linux 5.16 will not be a “huge release” but does include a significant new feature. “Memory Folios” is a memory management system that offers “a more efficient and type-safe way to specify ‘head of a group of pages’, rather than the page pointers and ‘compound_head()’ and friends”.

As explained by Matthew Wilcox, a long-time contributor to the Linux kernel (and Oracle employee) who focuses on memory, Memory Folios aims “to allow filesystems and the page cache to manage memory in larger chunks than PAGE_SIZE”.

Doing so has produced some nice numbers. “The multi-page folios offer some improvement to some workloads,” Wilcox wrote. “Real workloads (eg building the kernel, running postgres in a steady state, etc.) seem to benefit between 0–10%.”

A single addition to the Linux kernel that could improve performance by ten per cent? Where do we sign?

Torvalds rated Memory Folios as “unusually core, but they certainly aren’t the bulk of the changes”.

Those come from the usual suspects – what Torvalds describes as “drivers (gpu, networking, sound and staging stand out, but it’s all over) and architecture code”.

“Hardware support is the bulk of the code, it gets the bulk of the changes. But we obviously have all the normal other updates, with filesystem, networking, and core kernel code. With documentation and tooling support filling the gaps.”

“Anyway, the merge window may have gone about as smoothly as I could hope for,” Torvalds wrote, before adding “but let’s get the whole stabilization phase started with some serious testing, shall we?”

You heard the man. ®