Linux Kernel 6.9 Released. This is What’s New

5 min


A new mainline Linux Kernel 6.9 is now available. Find out what are the best new features of this version.

Following almost two months of development effort, Linus Torvalds released Linux Kernel 6.9. This release brings the usual CPU, GPU updates across upcoming product line-ups, performance and security upgrades, networking, filesystem and more. Key highlights include improved experience with 4K displays thanks to larger frame-buffers, faster boot times in advanced systems with many GB’s of RAM and many more.

So 6.9 is now out, and last week has looked quite stable (and the whole release has felt pretty normal). Below is the shortlog for the last week, with the changes mostly being dominated by some driver updates (gpu and networking being the big ones, but “big” is still pretty small, and there’s various other driver noise in there too).

Outside of drivers, it’s some filesystem fixes (bcachefs still stands out, but ksmbd shows up too), some late selftest fixes, and some core networking fixes.

And I now have a more powerful arm64 machine (thanks to Ampere), so the last week I’ve been doing almost as many arm64 builds as I have x86-64, and that should obviously continue during the upcoming merge window too. The M2 laptop I have has been more of a “test builds weekly” rather than “continuously”.

Linus

In this article, we will touch upon on the key highlights of Linux Kernel 6.9.

Linux Kernel 6.9: What’s New

Processor: AMD

Linux 6.9 kernel introduces support for AMD Preferred Core, a feature that allows the kernel scheduler to prioritize tasks on higher-performing CPU cores, improving system performance and efficiency. With this update, modern AMD Zen systems with Preferred Core support enabled in the BIOS will automatically utilize this feature on Linux 6.9+, assuming the AMD P-State driver is used instead of the generic ACPI CPUFreq driver.

This release also has been updated with more AMD SEV-SNP bits, bringing EPYC processor support closer to the mainline kernel and paving the way for “the ultimate goal of the AMD confidential computing side” to be ready for Linux 6.10 later this year. This milestone follows years of upstreaming work by AMD to integrate SEV, SEV-ES, and SEV-SNP extensions on newer EPYC processors.

A significant change to the EDAC subsystem arrives, with a focus on AMD-specific updates, including the upstreaming of the FRU Memory Poison Manager, which allows memory error information to persist across reboots. Additionally, the kernel now includes row retirement support for the MI300 series, enabling the retirement of problematic memory rows to prevent repeated errors, and the FRU Memory Poison Manager can optionally persist this information across reboots.

Processor: Intel

Intel’s Meteor Lake laptop processors has received patches to improve the performance and power efficiency, which adjust the Energy Performance Preference (EPP) settings to optimize system power and performance. The patches allow for model-specific EPP overrides and update the default EPP values for Meteor Lake, enabling more tailored power management and performance tuning.

The Linux 6.9 kernel has merged the Intel FRED (Flexible Return and Event Delivery) support code, which enables lower latency transitions between privilege levels and more robust software use. Intel FRED replaces IDT event delivery and is a significant step forward for future Intel processors, with the code being merged without objections by Linus Torvalds.

The Linux 6.9 kernel includes more x86S (formerly X86-S) bits, a specification published nearly a year ago by Intel to simplify the architecture and remove support for 16-bit and 32-bit operating systems. The latest updates include improvements to the x86 early start-up code, position-independent code support, console enhancements, and X86S-related cleanups, such as the reworking of the “trampoline_start64” code for accommodating the removal of compatibility mode in ring 0.

Processor: ARM and others

This mainline Kernel release brings RISC-V architecture updates, such as support for vector-accelerated crypto routines, including AES-{ECB,CBC,CTR,XTS}, ChaCha20, GHASH, SHA-256, SHA-384, SHA-512, SM3, and SM4 algorithms. The new kernel also enables system hibernation support for portable kernel builds, fast GUP handling, and other additions, such as ACPI LPI and CPPC support.

Like in each mainline Kernel release, the LoongArch architecture updates also arrives, enabling objtool support for validations and transformations during the kernel build process, ORC stack unwinder support, kernel live-patching for applying security/bug fixes without rebooting, and additional kernel configuration features. These updates continue the progress of the LoongArch processor port for the upstream Linux kernel.

The Linux Kernel 6.9 also includes a secondary set of power management subsystem changes, with the ARM SCMI CPUFreq driver now enabling CPU boost support by default. This update allows ARM System Control and Power Interface (SCMI) CPU frequency scaling driver to enable boost support out-of-the-box on platforms where it is supported.

On the ARM64 space, support for building the kernel’s Rust language support, reorganization of the virtual address space, and LPA2 52-bit VA/PA address range support using 4KB and 16KB pages are available. Additionally, the kernel now enables 2023 dpISA extension support, exposing new floating point features and hardware capabilities for user-space checking.

Graphics

One of the key highlights of the Kernel 6.9 is the support for larger console fonts in the frame-buffer device (FBDEV) subsystem, allowing a maximum VT console font width of 64 and height of 128 pixels. This update, proposed by Samuel Thibault, increases the maximum console font size and switches to a bitmap for better handling of today’s high-resolution displays.

Also arrives in this release as part of DRM_NEXT, is the DisplayPort tunneling and bandwidth allocation support, additional Alder Lake N PCI IDs, fastboot support for older platforms, a DebugFS option for enabling big-joiner, and other updates for the i915 driver.

Storage and Misc changes

The FUSE (Filesystem in Userspace) passthrough mode arrives in Linux Kernel 6.9. This feature aims to improve the performance of user-space file systems by avoiding the daemon overhead on a per-file basis. With FUSE passthrough, read/write operations are forwarded directly by the kernel to the lower file system.

To utilize this feature, the new FUSE_PASSTHROUGH Kconfig switch must be enabled, allowing specific FUSE operations to bypass the FUSE server via mapping to the backing file. This enhancement will help reduce the overhead associated with FUSE daemons and improve the overall efficiency of user-space file systems.

The latest file-system driver update for Linux Kernel 6.9 includes significant improvements to the exFAT file-system, focusing on optimizing the “dirsync” performance.

The new exFAT Linux driver with dirsync enabled likely to perform significantly better and is much closer to the performance levels of testing exFAT without the dirsync option. These optimizations not only enhance the user experience but also contribute to the overall efficiency and reliability of the system.

Another key update in this Kernel release is the ratelimiting of unknown NMI messages. The excessive NMI debug messages on some unnamed AMD systems were causing performance issues. These Non-Maskable Interrupt (NMI) messages were printed on the console continuously when using the ‘perf’ command with IBS, ultimately slowing down the kernel. This patch ensures that these messages are not printed excessively, preventing potential performance degradation.

Key Sound Updates

Elsewhere, under the sound updates, code clean-ups and support for new hardware like Microchip SAM9x7, NXP i.MX95, and Qualcomm WCD939x have been added. Expanded Cirrus HD audio codec support, fixes for the Scarlett2 audio mixer, VirtIO audio driver improvements, Firewire sound updates, and more work on SoundWire for both AMD and Intel platforms are included.

For AMD systems, SoundWire support for systems using the AMD Audio Co-Processor (ACP) v6.3 IP has been added, which is used by the Ryzen 7040 series laptop “Phoenix” SoCs. Intel systems have gained DSP-less mode support for their SoundWire platforms.

These updates enhance audio functionality, stability, and compatibility across various platforms, providing a better user experience for Linux users.

That’s more about the key highlights of this release.

How to Download and Install Linux Kernel 6.9

Remember that using the bleeding-edge mainline Linux Kernel in your production systems/daily-drive laptops/desktops is not wiser unless you have a specific requirement.

For general users, it’s always best to wait for a few weeks until all the major Linux Distributions bring this version via their official stable channel after proper testing.

That being said, if you still want to install this version on Ubuntu and related distributions, visit the below pages:

  • Firstly, visit the mainline kernel page
    • There are two types of builds available – generic and lowlatency. You can download generic builds that work most of the time for standard systems.
    • For audio recordings and other setups that require low latency (like real-time feeds), download the lowlatency one.
  • Secondly, download the four deb packages for generic via the terminal and install them.
wget -c https://kernel.ubuntu.com/mainline/v6.9/amd64/linux-headers-6.9.0-060900-generic_6.9.0-060900.202405122134_amd64.deb

wget -c https://kernel.ubuntu.com/mainline/v6.9/amd64/linux-headers-6.9.0-060900_6.9.0-060900.202405122134_all.deb

wget -c https://kernel.ubuntu.com/mainline/v6.9/amd64/linux-image-unsigned-6.9.0-060900-generic_6.9.0-060900.202405122134_amd64.deb

wget -c https://kernel.ubuntu.com/mainline/v6.9/amd64/linux-modules-6.9.0-060900-generic_6.9.0-060900.202405122134_amd64.deb
sudo dpkg -i *.deb
  • After installation, reboot the system.
  • The instruction for lowlatency and other architecture (e.g., ARM) installations are the same. Replace the package name in the above wget commands. You can find them on the mainline Kernel page.

You can also compile sources on your own from the below links.

mainline:6.92024-05-12[tarball][browse]

Distro support

Arch Linux users should get this version by 1st/2nd week of June 2024 via monthly ISO refresh.

Other distributions should get this via their usual package refresh.

Wrapping up

To sum up, the release of Linux Kernel 6.9 introduces numerous important updates and enhancements, such as updates to CPU and GPU, 4k display support, security, core changes, and improvements to file systems and networking.

This release initiates the merge window for Kernel 6.10.


Arindam

Creator and author of debugpoint.com. Connect with me via Telegram, 𝕏 (Twitter), or send us an email.
Subscribe
Notify of
guest

This site uses Akismet to reduce spam. Learn how your comment data is processed.

0 Comments
Inline Feedbacks
View all comments