Only two months – and a new release of the Linux kernel. What appeared in the 6.5 kernel, what changed and what was removed. New opportunities

image

The new release of the Linux 6.5 kernel came out just two months after the previous one. But the work is still done a lot, for nothing that a little time has passed. So, in the new version 1467 fixes at once from more than 2 thousand developers. The total patch size is 78 MB. 1294205 lines of code added while 930515 lines removed. As always (well, almost), most of the changes relate to drivers, a little less – updating the code that is related to architectures, then there are changes in the network stack, file systems and internal kernel subsystems. Details are under the cut.



Hardware and drivers


  • In the new version managed to expand support for USB4 controllers, including the addition of initial support for Intel Barlow Ridge supporting USB4 v2 (80 Gbps over USB Type-C).
  • Nuvoton MA35D1, Amlogic C3 and STMicroelectronics STM32MP2 ARM chips based on ARM Cortex-A35, Samsung Exynos 4212, Qualcomm MSM8939 (Snapdragon 615), Qualcomm SC8180x (Snapdragon 8cx), Qualcomm SDX75 and Alibaba T- Head TH1520.
  • The developers did not ignore the ARM-boards. So, added support for models such as Marantec Maveo, Endian 4i Edge 200, Epson Moverio BT-200, PHYTEC STM32MP1-3, ICnova ADB4006, Emtop SoM & Baseboard, NXP i.MX8MM EVKB, Gateworks Venice gw7905-2x, NVIDIA IGX Orin , Fxtec Pro1X, NVIDIA Jetson Orin Nano (tegra234), Rockchip Indiedroid Nova (rk3588), Edgeble Neural Compute Module 6B (rk3588), FriendlyARM NanoPi R2C Plus (rk3328), Anbernic RG353PS (rk3566), Lunzn Fastrhino R66S/R68S (rk3568) , PHYTEC phyBOARD-Lyra-AM625, Toradex Verdin, as well as boards used in Sony Xperia M4 Aqua and Acer Aspire 1 devices.
  • Realtek RTL8192FU, Realtek RTL8723DS, and Realtek RTL8851BE wireless chips are also now supported.
  • Attention has also been paid to the AMDGPU driver, where FreeSync adaptive synchronization technology is now enabled by default. It is needed to adjust the refresh rate of information on the screen, to ensure smoothness and absence of image breaks while watching a video. Added support for overclocking (OverDrive) frequency of Radeon RX 7000 video cards.
  • As for the i915 driver, initial support for Intel Meteor Lake chips has been added here. You can also now use Variable Rate Refresh (VRR) on laptops with screens based on the eDP (Embedded Display Port) interface. Support for memory mapping (mmap) has been implemented for framebuffer.


Memory and system services

  • Support for the PIE (ARMv8.9 Permission Indirection Extension) extension is now implemented for systems based on the ARM64 architecture. The extension provides the ability to configure memory access rights. So, instead of encoding permission information in a memory page table, PIE uses the index of the permission array specified in the register.
  • In addition, for ARM-based systems that support the Armv8.8 extension, it is now possible to use the user-space memcpy/memset processor instructions.
  • The procedure for transferring processors to the online state has also been accelerated due to the parallel activation of several CPUs.
  • There was support for the Unaccepted Memory protocol, which makes it possible to accept memory allocated by the host system in guest systems protected using AMD SEV-SNP (Secure Nested Paging) or Intel TDX (Trusted Domain Extensions) technology.
  • We have moved to using the Rust 1.68.2 release, which stabilizes some of the features used in the kernel. Improved pin-init API. Extended capabilities of ‘error’, ‘sync’, ‘str’, ‘task’ and ‘types’ modules.
  • The BPF subsystem has added support for attaching filters to kfunc (kernel functions available for use in BPF programs) to restrict the context in which kfunc is allowed to be called.
  • Added automatic detection and marking of CPU-intensive jobs (executing more than 10 ms).
  • The RISC-V architecture was not ignored either, where support for ACPI and the “V” extension (Vector, vector instructions) is now implemented. The “/proc/sys/abi/riscv_v_default_allow” parameter and the “PR_RISCV_V_*” series of flags are provided in prctl() to control the extension.
  • Chinese Loongarch architecture is not forgotten. Support for simultaneous multithreading (SMT, Simultaneous Multi-Threading) has been added for it. It also provides the ability to build the kernel for Loongarch with the Clang compiler.
  • In one of the future releases, the SLAB memory allocation mechanism will be removed, instead of which only SLUB will be used in the kernel.
  • The task scheduler has optimized load balancing between CPU cores by eliminating unnecessary migration between SMT (Simultaneous Multi-Threading) areas on hybrid systems.

Disk subsystem and files

  • Here, as mentioned at the very beginning, there are not very many changes. But they are, and some of them are quite important. For example, Btrfs proposed new optimizations. Implemented data transfer in synchronous mode for fast algorithms for calculating checksums crc32c and xxhash).
  • In addition, EXT4 has cleaned up code related to the extent state tree, logging, and block allocation. Improved performance of parallel overwriting in DIO (Direct I/O) mode.
  • XFS removed the sign of experimental development from the code for calculating large extents. The FMODE_CAN_ODIRECT mode is enabled.
  • Another file system, F2FS, supports the “errors=” mount option, through which you can configure the behavior in case of errors when reading or writing data to the drive.
  • FS Overlayfs was transferred to use the new API for mounting. In the 6.5 kernel, Composefs added support for “data-only” layers used only for data (separate from metadata).

Net

  • For wireless devices, IEEE 802.15.4 added support for active network scanning.
  • The developers have rewritten the implementation of the sendpage and splice system calls, in which, instead of passing data to the socket page by page, sendmsg handlers implement passing data references.
  • A new message type, SCM_PIDFD, has also been added. It allows you to use sockets and sendmsg()/recvmsg() calls to pass pidfd process ID information.

Virtualization and Security

  • There are also very few changes here. From the main one, one can single out the addition of support for the Landlock mechanism, which allows you to limit the interaction of a group of processes with the external environment, in UML (User Mode Linux).
  • The minimal standard C library Nolibc implements support for the Stack Protector mechanism for detecting stack overflows.
  • And the “secretmem” functionality is also activated by default, the operation of which is provided by the memfd_secret () system call.

As always, along with the release, a variant was also released. free kernel 6.5 – linux-libre 6.5-gnu. Elements of firmware and drivers were removed from it, in which there are non-free components or code sections, the scope of which is limited by the manufacturer.

Other interesting materials



Similar Posts

Leave a Reply

Your email address will not be published. Required fields are marked *