Linus Torvalds announced the availability of the new Linux kernel version 5.9 on a mailing list. This version includes several new features and improvements, as well as new drivers and driver updates.
Development of the Linux 5.9 kernel began about two months ago when Linus Torvalds announced the first Release Candidate (RC) milestone. After no less than eight RCs, the final version of the kernel is now available and should be shipping to some of the most popular Linux distributions in the coming weeks.
As for the strengths of Linux 5.9, there is support for the Unicore architecture , support for Zstandard compression (Zsdt) for compiling x86 kernels, full support for asynchronous buffer read operations in the io_uring subsystem, plus a new rescue option and several performance improvements for the Btrfs file system.
There is also support for FSGSBASE x86 instructions, capacity support for the deadline scheduler, a new sysctl button, inline encryption support for EXT4 and F2FS file systems , as well as support for NVIDIA Tegra210 external memory controllers and support for Chrome OS integrated controller regulators.
In addition, Linux 5.9 brings a new close_range() system call , support for Intel “Keem Bay” Movidius VPUs, support for parallel redundancy protocol, support for BPF iterators on TCP and UDP sockets, support for extended attributes for NFS 4.2 clients, and schedutil as the default CPU frequency regulator for ARM and AArch64 (ARM64) architectures.
In addition, it also highlights the added support for ARM boards, devices, and platforms: Pine64 PinePhone v1.2, Lenovo IdeaPad Duet 10.1, ASUS Google Nexus 7, Acer Iconia Tab A500, Qualcomm Snapdragon SDM630 (used in Sony Xperia 10, 10 Plus, XA2, XA2 Plus, and XA2 Ultra), Jetson Xavier NX, Amlogic WeTek Core2, Aspeed EthanolX, five new boards based on the NXP i.MX6, MikroTik RouterBoard 3011, Xiaomi Libra, Microsoft Lumia 950, Sony Xperia Z5, MStar, Microchip Sparx5, Intel Keem Bay, Amazon Alpine v3, and Renesas RZ/G2H.
For cgroups, a new slab memory controller is implemented , which is notable for transferring slab accounting from the memory page level to the kernel object level. This makes it possible to share slab pages across different cgroups, instead of allocating separate slab caches for each cgroup. The proposed approach increases the efficiency of slab usage , reduces the amount of memory used for slabs by 30–45%, significantly reduces overall kernel memory consumption, and reduces memory fragmentation.
Regarding graphics improvements, the amdgpu driver adds initial GPU support for AMD Navi 21 (Navy Flounder) and Navi 22 (Sienna Cichlid). Support for UVD/VCE video encoding and decoding acceleration engines has been added for Southern Islands GPUs (Radeon HD 7000). A feature allowing the screen to be rotated 90, 180, or 270 degrees has also been added.
Interestingly, the AMD GPU driver is the largest driver in the kernel - it contains approximately 2,71 million lines of code, which is approximately 10% of the total kernel size (27,81 million lines).
At the same time, 1.79 million lines are in the automatically generated header files with data for the GPU registers, and the C code is 366 thousand lines (in comparison, the Intel i915 controller includes 209 thousand lines and Nouveau - 149 thousand ).
The Nouveau driver adds support for frame-by-frame CRC (Cyclic Redundancy Checks) integrity verifications in NVIDIA GPU display engines. The implementation is based on documentation provided by NVIDIA.
Of course, many new and updated drivers are included in this major new kernel release to add support for more newer hardware components. Some security-related features are also present, along with the usual bug fixes and internal kernel changes.
Finally, this new version can be downloaded from kernel.org if you wish to build your own kernel. For others, you can wait for the stable Linux kernel 5.9 to be released in your GNU/Linux distribution's stable software repositories before upgrading from a previous version.
As for the next version of Linux 5.10, it is expected that it should arrive in the middle of December or during the Christmas holidays.