Linus Torvalds releases Linux Kernel 6.2 RC1 for everyone to test, which brings usual updates, more Rust code and more.
Following the Linux Kernel 6.1 release two weeks back, the merge window for Linux Kernel 6.2 is now closed, and that too, on Christmas day of 2022. Without further delay, Linus released Kernel 6.2 for everyone to test.
Furthermore, Linus mentioned that the final release might get delayed due to fewer activities during the holiday week.
So it’s Christmas Day here, but it’s also Sunday afternoon two weeks after the 6.2 merge window opened. So holidays or not, the kernel development show must go on.
Thanks to a lot of people sending their pull requests early, I got much of the merge window work done before the holidays started in earnest, and mostly before my pre-xmas travel. So despite flight delays, missed connections, and the resulting airport hotel excursions, the merge window mostly went smoothly, and there was no reason to delay rc1.
…
Also, 6.2 looks like it’s a bigger release (certainly bigger than 6.1 was). The summary below is, as usual, just my merge log: we’ve got about 13.5k commits from ~1800 people in total in this merge window, which is actually not that far off the total size of the whole 6.1 release. But let’s hope that despite the size, and despite the likely slow start of the post merge-window calming down period, we’ll have a smooth release.
Linus on the release announcement
Let’s take a look at what arrives in Kernel 6.2.
Table of Contents
Linux Kernel 6.2: What’s New (RC1)
CPU and subsystems
A considerable amount of power management code arrives in Linux Kernel 6.2 across CPUs and architectures. Intel Alder Lake N and Raptor Lake P models changed the Energy Performance Bias (EPB) value from 6 to 7, which helps to reduce power consumption. In addition, Apple M1/M2 brings CPU frequency scaling for the P-State to control the power consumption in Apple silicon.
A bunch of code dropped for the message signalled interrupts (MSI) subsystem of the Kernel to support per-device interrupt domains. The revamp of MSI was in discussion for some time for implementation due to its initial design issue.
AMD’s Zen 4 processors are now supported by Kernel 6.2 with various opening up of performance modules. Essential items that get support for this processor are core performance monitor counters, L3 cache performance monitor counters, multiple event metrics around dispatch, branch prediction, L1/L2 cache activity and many more.
AMD’s P-state driver code was added to Kernel for the past few releases. In this version, a bunch of patches arrive at this p-State Energy Performance Preference handling module.
More RISC-V architecture support arrives in this Kernel release bringing persistent memory device support, T-Head PMU support and additional changes.
Furthermore, a handful of system on a chip (SoC) support arrives in this release. Significant models include Qualcomm Snapdragon 460, 650, 652, 821, 662, 695, 670, Apple M1 Pro, Max, Ultra SoCs, a bunch of Rockchip boards and many more.
GPU
The graphics stack also gets significant updates, including the ongoing code addition for upcoming models from Intel and AMD.
Firstly, Intel’s Arc Graphics (DG2/Alchemist) card support becomes stable and removed as experimental support. Hence it’s ready to be used with the latest mainline Kernel from this version onwards.
Also arriving, the initial NVIDIA RTX 30 “Ampere” accelerated support, more Intel Meteor Lake code base and AMD is also patched more code for RDNA3 cards.
Port, filesystem
A vast number of file system change arrives in this release. The significant update includes the NTFS driver adding new mount options, better performance for exFAT while creating files/directories, better caching for F2FS, performance and fixes for btrfs file system.
The USB4 updates continue to arrive, and 6.2 is bringing wake on connect and disconnect via USB4 ports. In addition, the USB 2.0 dongle to VGA adapter “sisusbvga” driver support is dropped in this release, being outdated hardware.
Other changes
Since kernel 6.1 added the initial Rust skeleton, this release also adds more initial support for Rust for the future. The changes include new macros, and constructors for the Kernel support with Rust which you can find here (via the mailing list):
String and formatting: new typesCString
,CStr
,BStr
andFormatter
; new macrosc_str!
,b_str!
andfmt!
.
Errors: the rest of the error codes fromerrno-base.h
, as well as someFrom
trait implementations for theError
type.
Printing: the rest of thepr_*!
levels and the continuation onepr_cont!
, as well as a new sample.alloc
crate: new constructorstry_with_capacity()
andtry_with_capacity_in()
forRawVec
andVec
.
Procedural macros: new macros#[vtable]
andconcat_idents!
, as well as better ergonomics formodule!
users.
Asserting: new macrosstatic_assert!
,build_error!
andbuild_assert!
, as well as a new cratebuild_error
to support them.
Vocabulary types: new typesOpaque
andEither
.
Debugging: new macrodbg!
.
On top of the above changes, Kernel 6.2 started dropping code for 800Gbps networking support and MotorComm YT8521 Gigabit ethernet support and Wi-Fi 7.
The entire change list is huge, just a summary of this release.
Download Linux Kernel 6.2 RC1 source
You can download the RC source tree from the following page.
If you are running benchmarks, testing new hardware and finding issues, report to the Kernel mailing list.
Finally, the Linux Kernel 6.2 is expected to be released by February 2023. Hence, Ubuntu 23.04 & Fedora 38 may get this version later in 2023.