Linus Torvalds has version 6.0 of the Linux Kernel released. The kernel is the heart of the operating system and, simply put, sits as a layer between the hardware and the applications. In version 6.0 we find support for Intel’s A750 and A770, AMD’s RDNA3, and Qualcomm’s Snapdragon 8xc Gen3, among others. More information is available 9to5Linux to find. Below is an overview of the most important changes from this release.
Linux Kernel 6.0 Officially Released
After being in development for two months, Linux kernel 6.0 is finally here and introduces support for the AArch64 (ARM64) hardware architecture to swap transparent huge pages without splitting them, support for NVMe in-band authentication, support for PCI buses in the OpenRISC and LoongArch architectures, async buffered writes when using both XFS and io_uring, as well as io_uring zero-copy network transmission support.
Linux kernel 6.0 also brings support for the “Zicbom” extension to the RISC-V hardware architecture for managing devices with non-cache-coherent DMA, a new runtime verification subsystem that allows kernel state monitoring, support for generating new CXL memory regions, support for properly implementing POSIX access control lists on OverlayFS filesystems, and the implementation of the second generation of the Btrfs “send” protocol that supports sending large data and raw compressed extents.
Other noteworthy changes include new user-space memory management features in the DAMON mechanism, support for limiting the NFSv4 server to 1024 active clients at 1GB RAM, support for the EXT4 file system to fetch and set UUIDs stored in a file system superblock, support for the fsnotify subsystem to better control ignored events, support for sleepable BPF programs attached to uprobes, as well as new reports to the perf tool for lock contention tracepoints and BPF for in-kernel aggregation.
There are also good news for virtualization as Linux kernel 6.0 introduces a new pseudo-device called ‘guest vCPU stall detector’ that can act as a watchdog to tell the host if the VM has stalled. There’s also a new debugfs interface, a new BPF iterator, a new set of BPF kfuncs, new BPF helpers for generating and checking SYN cookies, and a new io_uring based user-space block driver in Linux 6.0.
“As is hopefully clear to everybody, the major version number change is more about me running out of fingers and toes than it is about any big fundamental changes. But of course there’s a lot of various changes in 6.0 – we’ve got over 15k non-merge commits in there in total, after all, and as such 6.0 is one of the bigger releases at least in numbers of commits in a while, said Linus Torvalds.
Of course, Linux 6.0 also includes numerous updated and new drivers for better hardware support. On top of that, it adds many bug fixes and tweaks to provide better performance than previous kernels, most notably here being the tweaks to task placement on large systems, performance improvements to the in-kernel TLS implementation, and a new IORING_RECV_MULTISHOT flag to enable multi-shot operation with recv() calls.
Security-wise, Linux kernel 6.0 implements fetching of random-number seeds from bootloader’s setup data to the x86 and m68k kernels, support for the SafeSetID security module to control setgroups() changes, support for the ARIA encryption algorithm, as well as support for hooks attached to a control group or a single target process to the BPF security module.