After two months of development, Linus Torvalds announced the release of the Linux 6.12 kernel, version in which The possibility of activating the real-time mode is highlighted, the addition of sched_ext to allow the creation of CPU schedulers using eBPF, and a mechanism that generates QR codes in critical situations.
Linux 6.12 includes a total of 14,607 corrections made, They were added more than 507,913 lines of code and removing 234,083. Although the patch is smaller compared to previous versions, it represents an unprecedented optimization.
Main news in Linux 6.12
The Linux kernel now can be built with the PREEMPT_RT option iintegrated, eliminating the need for external patches for real-time operation. This was achieved by including support in the printk.PREEMPT_RT function and is Available on architectures such as x86, x86_64, ARM64 and RISC-V.
In the compilation, the Clang compiler support was extended to the nolibc standard library, allowing optimizations such as link time optimization (LTO). It is also added a ring tracking system, which retains debugging information in memory across reboots, facilitating post-failure analysis.
On the part of Rust-for-Linux, this one continues advancing with new modules like list and rbtree for linked lists and red-black trees. In addition, support has been extended in key areas such as initialization, synchronization and error handling. It is possible to compile the kernel with Rust while maintaining advanced protections such as Spectre and debugging with KASAN or kCFI. In addition, an Ethernet PHY driver written in Rust has been integrated.
Another novelty What stands out in this new version of the Linux Kernel 6.12 is the introduction of the sched_ext (SCX) mechanism, which allows eBPF to be used to create custom CPU schedulers. With SCX, developers can design dynamic schedulers that optimize task execution based on system state and application-specific needs, facilitating experimentation and implementation of strategies in production environments.
Also SCHED_DEADLINE server integration completed, a more efficient solution to avoid CPU monopolization by high priority tasks, improving resource allocation to low-priority tasks. In addition, the CFS scheduler was replaced by the new EEVDF (Earliest Eligible Virtual Deadline First), which allocates processor resources more fairly and eliminates the need for manual adjustments, reducing delays in critical tasks.
The controller DRM Panic, responsible for handling emergencies in the kernel, you can now display a visual report with logos and QR codes which include compressed diagnostic data. These QR codes facilitate fault analysis by allowing users to be redirected to pages set up by distributions to report problems.
As for the ARM, added support for POE extension (Permission Overlay Extension), which enables mechanisms such as Memory Protection Keys to restrict access to specific areas of memory without having to modify page tables. In addition, optimization of the getrandom() system call using vDSO increased the speed of random number generation by up to 15 times on Loongarch, ARM64, PowerPC, and s390 architectures.
Un New USB driver enables use of 9pfs protocol to transfer data between USB devices by mounting 9p filesystems. This is particularly useful on embedded devices, providing an efficient alternative to NFS for booting root partitions.
The subsystem io_uring added support for absolute timeouts, activated at specific times based on the system clock. This improves control over asynchronous operations, providing greater precision in their execution.
For the library libcpupower, SWIG link generation files included, allowing languages such as Python to be used to extend its functionality. In addition, the cpuidle utility has been improved, which can now measure the minimum time required in the idle state to justify the transition energy costs.
In the field of networks, one The most notable improvements are the TCP mechanism for device memory, which allows direct data transfers between peripheral device memory and the network without going through the CPU, achieving remarkable efficiency. In addition, the capabilities of numerous Ethernet and WiFi controllers, such as Intel’s iwlwifi and RealTek’s rtw89, have been expanded with additional support for WiFi 6 chips and advanced IEEE standards. For IPv6, new functionalities have been introduced to optimize address allocation using DHCPv6-PD, while MPTCP has received improvements in routing and traffic loss detection.
In hardware support, Added continued support for AMD RDNA4 in the AMDGPU driver and improvements to the Xe DRM driver for Intel Xe GPUs. Also added the Support for Xeon Granite Rapids processors and new ARM platforms, including the Snapdragon X Elite SoC.
Finally, if you are interested in knowing more about it, you can consult the details in the following link