Linus Torvalds has released version 7.2 of the Linux kernel right on its planned schedule. The week before had been more work-intensive than he'd have liked, Torvalds wrote in his release email, and some changes had to be reverted at the last second, including in the DRM (Direct Rendering Manager) scheduler. Even so, nearly all of the biggest changes are aimed at improving efficiency.
New scheduler algorithms
Despite the reverts, the DRM scheduler gets a new algorithm modeled on the kernel's Completely Fair Scheduler (CFS). The approach is meant to deliver better results when allocating GPU compute time than the previous FIFO (first in, first out) approach. The CPU scheduler, meanwhile, now factors cache structure into its decisions. This so-called cache-aware scheduling is meant to place parallel threads that share data so they use the same last-level cache. For now, this assumption only applies to threads of the same process, with more complex algorithms already in the works. The approach should mainly benefit processors like AMD's Epyc line, where each chiplet implements part of the last-level cache, as well as multi-socket servers, both of which get better cache locality and higher performance as a result.
Faster swapping and filesystem improvements
Improvements to the algorithm that decides which memory pages get swapped out are also meant to bring noticeable performance gains, up to 30 percent for MongoDB, for example. Some parts of the proc filesystem can now be read faster too.
Among the filesystem drivers, NTFS and Btrfs stand out. The NTFS driver now supports native Windows symlinks, while Btrfs works more efficiently with sequential writes and direct I/O. The Btrfs driver also now uses so-called large folios by default, which logically group several consecutive memory pages together, making access and management more efficient. The previous implementation, introduced experimentally in kernel 6.17, used folios of up to 64 pages at 4 KB each; new as an experimental feature are huge folios with 512 pages, or up to 2 MB.
HDMI 2.1 arrives, the 486 departs
As previously announced, AMD has submitted code for HDMI 2.1 support on Linux, which has now landed in kernel 7.2. At the same time, the developers are removing compatibility mechanisms for older x86 processors. After years of discussion, that means the end of support for 486 processors and some 586 processors lacking a timestamp counter and the CMPXCHG8B operation.
There are also a few smaller but notable additions. Alongside Thunderbolt Networking, the kernel now also supports streaming over USB4 connections, letting data be written into one end of the connection like a file and read from the other end like a file, without needing a network stack at all. Also new is support for storage media with built-in encryption via the dm-inlinecrypt module. With kernel 7.2 released, the merge window for version 7.3 is already open; it's expected in two months, and according to Torvalds, 40 pull requests are already lined up for it.