The Linux 6.6 release has just been announced by Linus Torvalds on the Linux Kernel Mailing List. This release comes about two months after the release of Linux 6.5, and it brings several notable changes and updates to the kernel.
One of the highlights of Linux 6.6 is the addition of Intel’s shadow stack hardware support. This feature helps prevent exploits by maintaining a secondary (shadow) stack that cannot be directly modified. The processor pushes the return address to both the normal stack and the shadow stack, and upon return, it compares the two copies. If they differ, the processor raises a control protection fault, which can prevent stack modification exploits. It’s important to note that this implementation only supports shadow stack on 64-bit kernels and offers support for 32-bit via IA32 emulation only for userspace.
Another significant change in Linux 6.6 is the introduction of the EEVDF task scheduler. This scheduler replaces the CFS (Completely Fair Scheduler) that was merged in Linux 2.6.23. The EEVDF scheduler is designed to ensure that processes that are not getting the attention they deserve are automatically picked the next time, while processes that have been given more attention than necessary are “punished.” This algorithmic approach improves the latency of tasks that would be left behind by the CFS scheduler.
Additionally, Linux 6.6 brings faster asynchronous Direct I/O using io_uring, resulting in up to a 37% improvement in throughput/latency for low queue depth IO.
In terms of Arm architecture changes, Linux 6.6 introduces various updates and additions for Allwinner, Rockchip, Amlogic, Samsung, Qualcomm, MediaTek, and other Arm platforms. These changes include support for new boards, improvements to clock drivers, additions to device trees, and various driver updates.
The RISC-V architecture also sees some updates in Linux 6.6, including support for new device tree interfaces, userspace access to performance counters, more instructions in kprobes, crash kernels allocated above 4GiB, support for KCFI, and more. The MIPS architecture receives some cleanups and fixes in this release.
Overall, the Linux 6.6 release brings important updates and improvements to the kernel, enhancing security, task scheduling, and I/O performance. It also expands support for various architectures, including Arm, RISC-V, and MIPS. Linux enthusiasts and developers will find these updates valuable for their servers, Linux-based home labs, and DevOps environments.
Source: CNX Software – Embedded Systems News.