Linux 6.12 LTS at a glance

Real Time

© Lead Image © Maxim Kazmin, 123RF.com

© Lead Image © Maxim Kazmin, 123RF.com

Article from Issue 295/2025
Author(s):

For 20 years, the kernel developers maintained real-time support outside the mainline kernel. Now, in Linux 6.12, real-time support has become an official part of the operating system kernel.

Linux 6.12 was released on November 17 as the last kernel of 2024. As expected, Greg Kroah-Hartman chose it as the next LTS kernel in early December. Linux 6.12 comes with 13,344 changes to the mainline kernel. A total of 2,074 developers contributed to its success, with 335 of them making their first contributions to the kernel – a new record. Although the commit numbers indicate that this is pretty much an average kernel, Linux 6.12 comes packed with new and interesting functions and useful extensions.

Kernel Buzz 2024

In 2024, kernel development was not without a few upsets, including disputes and government interference. A dispute occurred between Linus Torvalds and Kent Overstreet, the developer of the next-gen bcachefs filesystem. Bcachefs moved into the mainline kernel in Linux 6.7, but it could soon lose this status. The dispute concerned doubts about Overstreet's ability to work in a team and the way in which he submits his commits. Overstreet justified his approach in a lengthy article in which he also questioned established kernel development procedures [1]. The members of the kernel's Code of Conduct Committee imposed a ban on Overstreet due to misconduct for kernel 6.13, although Overstreet single-handedly contributed five percent in Linux 6.12.

Torvalds and the kernel community were criticized for removing about a dozen Russian programmers from the official list of kernel developers. However, Torvalds had little leeway in taking this step due to Executive Order 14071 issued by then US President Joe Biden in 2022 [2]. The Russian developers (or their employers) officially excluded were probably on the Specially Designated National (SDN) list of the US Office of Foreign Assets Control (OFAC). The OFAC regularly publishes a list of foreign individuals and companies that have violated US sanctions against Russia, Syria, or Iran, among other things. The development of the Linux kernel cannot escape global politics, but you might well criticize Torvald's communication in this matter [3], which was initially very brief.

There was also a stir among Rust kernel developers. This culminated in the resignation of Rust developer Wedson Almeida Filho, who was employed by Microsoft, from the Rust for Linux project. Filho stated on the record that he was not enthusiastic about dealing with the "non-technical nonsense" and "bikeshedding" of some C and C++ developers in the discussion [4]. The background to this is that, since 2020, there have been efforts to establish the more memory-assured Rust programming language in the kernel, but not everyone is in favor. Even outside the kernel, the way Rust code is incorporated into the kernel does not find global approval. One of the most vocal critics is the well-known developer Drew DeVault [5].

The trouble didn't end there. Torvalds reacted in his usual blunt way to the planned introduction of the microarchitecture classification for AMD64 (also known as x86_64), designed by Red Hat compiler developers in 2020. Torvalds considers the naming of hardware functions by classes such as v2, v3, and v4 to be counterproductive: In his opinion, it does not reflect the complexity of today's hardware. The kernel boss prefers the established CPUID model [6] and, accordingly, formulated a drastic rejection [7] of Red Hat's definition.

In Real Time

In addition to the usual updates to provide support for current and upcoming CPUs and GPUs, there are two new features that stand out in kernel 6.12: real-time support and the new extensible scheduler, sched_ext.

Real-time support for the kernel has existed as an out-of-tree patch in the form of the PREEMPT_RT patchset since 2005. The patches were used by real-time operating systems (RTOSes) for time-critical applications in medicine, robotics, aviation, and audio and video production. It took almost 20 years for real-time Linux, which in the inventor's mind performs time-critical tasks with precision and reliability, to move into the mainline kernel. Linux will now be able to reliably guarantee response times of 100 microseconds (Figure 1).

Figure 1: Thomas Gleixner presenting Linus Torvalds with the code of the PREEMPT_RT support patchset in printed form wrapped in gold paper with a ribbon at the Kernel Summit in Vienna, Austria. © Thorsten Leemhuis

The second outstanding innovation relates to the extensible scheduler, sched_ext, which was actually announced for kernel 6.11. Torvalds postponed the inclusion of the 14,000-line patch to version 6.12. The new scheduler class raises high expectations because it enables the implementation of scheduling guidelines in the form of user-defined CPU scheduling algorithms in the form of Extended Berkeley Packet Filter (eBPF) programs [8]. eBPF enables programs to be loaded from user space into the kernel at runtime. According to Jonathan Corbet from LWN, this enables significantly different scheduler behavior than the behavior that was previously possible.

The Earliest Eligible Virtual Deadline First (EEVDF) scheduler, which landed in the kernel with Linux 6.6, replacing the Completely Fair Scheduler (CFS), is now considered complete [9] in kernel 6.12. There is also a useful extension to the Blue Screen of Death recently introduced in Linux 6.10 for kernel panic caused by the DRM driver. An optional panic screen written in Rust with a QR code makes it easier to collect what is often extensive information [10].

Graphics and CPUs

The AMDGPU driver includes improvements for DisplayPort Multi-Stream Transport (DP MST). Further patches initialize process isolation in the AMDGPU kernel graphics driver. This will initially benefit GFX 9.4.3 and 9.4.4, with other GPUs to be added later. The patches activate Process Isolation Mode, which serializes access to the graphics block between processes. When active, a cleaner shader runs between the individual processes to delete the shader's Local Data Store (LDS) and General Purpose Registers (GPRs) [11]. AMD has delivered further code for the upcoming launch of RDNA 4/GFX12 with the Radeon RX 8600 and 8800 graphics cards [12].

Intel Xe2 graphics support for Lunar Lake CPUs and Battlemage graphics cards is enabled by default in kernel 6.12. Laptops in the Core Ultra 200 series and GPUs on upcoming discrete Intel graphics cards [13] are supported. In addition, the Intel graphics driver in Linux 6.12 finally reports the fan speed [14] along with power usage, performance, and voltage metrics. HDMI audio support is included in the kernel for Intel Panther Lake. Panther Lake cores and Diamond Rapids, the next-generation Xeon P core processors, were initially given their future model IDs.

There are additional ISA extensions and kernel functions for RISC-V in the new kernel. They come with improved handling of kernel address space layout randomization and enable reporting of generic CPU vulnerabilities [15], which is usually found in /sys/devices/system/cpu/vulnerabilities/ in other architectures. CPU idle states have been generally upgraded by a revamped CPUIdle tool, which now provides more detailed information on energy-saving states.

Moving on to ARM system on chips (SoCs), there is first-time support for the Broadcom BCM2712, which powers the Raspberry Pi 5. More code is still required to offer the full functionality. The developers have also tackled the Qualcomm Snapdragon 414, adding three more Snapdragon laptops and seven smartphones to the list of compatible devices [16].

Buy this article as PDF

Express-Checkout as PDF
Price $2.95
(incl. VAT)

Buy Linux Magazine

SINGLE ISSUES
 
SUBSCRIPTIONS
 
TABLET & SMARTPHONE APPS
Get it on Google Play

US / Canada

Get it on Google Play

UK / Australia

Related content

comments powered by Disqus
Subscribe to our Linux Newsletters
Find Linux and Open Source Jobs
Subscribe to our ADMIN Newsletters

Support Our Work

Linux Magazine content is made possible with support from readers like you. Please consider contributing when you’ve found an article to be beneficial.

Learn More

News