Key Innovations
- The pidfd mechanism allows a specific PID to be assigned to a process. This assignment continues to exist even after the process ends, so the PID can be reapplied to it upon restart. Details.
- Frequency range limitations in the process scheduler. For example, critical processes can be run with a minimum frequency threshold (say, no less than 3 GHz), while low-priority processes can have a maximum frequency threshold (for instance, no more than 2 GHz). Details.
- Support for AMD Navi family video chips (RX5700) in the amdgpu driver. All necessary features have been implemented, including video encoding/decoding and power management.
- Full compatibility with x86-compatible Zhaoxin processors, created as a result of collaboration between VIA and the Shanghai government.
- Power management subsystem based on Intel Speed Select technology, characteristic of some Xeon family processors. This technology is noteworthy for its ability to finely tune performance for each CPU core.
- An energy-efficient mechanism for the user-space process sleep mode, utilizing umwait instructions for Intel Tremont processors. Details.
- The range 0.0.0.0/8 is now allowed, providing 16 million new IPv4 addresses. Details.
- A flexible lightweight hypervisor ACRN, well-suited for managing IoT systems. Details.
The following are some additional changes.
Core Section
- Support for firmware compression in xz format, reducing the /lib/firmware directory from ~420 MB to ~130 MB.
- A new version of the clone() system call allows for more flags to be specified. Details.
- Automatic selection of a larger font for high resolutions in the console.
- The CONFIG_PREEMPT_RT option, signaling the imminent integration of the RT patch set into the main kernel branch.
File System Subsystem
- BULKSTAT and INUMBERS system calls for XFS v5 have been introduced, and work has begun on implementing multithreaded inode traversal.
- Btrfs now uses fast checksums (crc32c) on all architectures.
- The immutable flag is now strictly applied to open files on Ext4. Support for holes in directories has been implemented.
- CEPH has learned to work with SELinux.
- The smbdirect mechanism in CIFS is no longer considered experimental. Cryptographic algorithms for SMB3.1.1 GCM have been added. File opening speed has been increased.
- F2FS can host swap files, which function in direct access mode. It is possible to disable the garbage collector when checkpoint=disable.
- NFS clients can establish multiple TCP connections to the server through the mounting option nconnect=X.
Memory Subsystem
- Each dma-buf gets a full inode. A lot of detailed information about shmem buffer usage can be obtained from the directories /proc/*/fd and /proc/*/map_files.
- The smaps mechanism shows separate information on anonymous and shared memory as well as on the file cache in the proc file smaps_rollup.
- Using rbtree for swap_extent improved performance under heavy swap usage by multiple processes.
- The number of vmalloc pages is displayed in /proc/meminfo.
- The capabilities of tools/vm/slabinfo have been expanded in terms of sorting caches by fragmentation degree.
Virtualization and Security
- The virtio-iommu driver allows para-virtualized devices to send IOMMU requests without emulator address table.
- The virtio-pmem driver allows access to storage through physical address space.
- Accelerated metadata access for vhost. For TX PPS tests, speed increases of 24% have been observed.
- For vhost_net, zerocopy is disabled by default.
- Encryption keys can be attached to namespaces.
- Support for xxhash, an extremely fast non-cryptographic hashing algorithm, whose speed is limited only by memory performance.
Network subsystem
- Initial support for nexthop objects created to improve the scalability of IPv4 and IPv6 routes.
- Netfilter has learned to offload filtering to hardware acceleration devices. Built-in connection tracking support for bridges has been added.
- A new traffic control module that allows manipulation of MPLS packet headers.
- The isdn4linux subsystem has been removed.
- LE pings for Bluetooth are now available.
Hardware architectures
- New ARM platforms and devices include: Mediatek mt8183, Amlogic G12B, Kontron SMARC SoM, Google Cheza, development kit for Purism Librem5, Qualcomm Dragonboard 845c, Hugsun X99 TV Box, and others.
- For x86, the mechanism /proc//arch_status has been added to display architecture-specific information such as the last AVX512 usage time.
- VMX performance for KVM has been optimized, with vmexit speed increased by 12%.
- Various information about Intel KabyLake, AmberLake, WhiskeyLake, and Ice Lake processors has been added and updated.
- LZMA and LZO compression for uImage on PowerPC.
- Protected virtio virtualization for S390.
- Support for large memory pages for RISC-V.
- Time travel mode for User-mode Linux (time slowdown and acceleration).
Device drivers
- HDR metadata recognition for amdgpu and i915 drivers.
- Functionality extensions for Vega12 and Vega20 graphics chips in amdgpu.
- Multisegment gamma correction for i915, as well as asynchronous screen power-off and a number of new firmware.
- The Nouveau video driver has learned to recognize TU116 family chips.
- New Bluetooth protocols MediaTek MT7663U and MediaTek MT7668U.
- TLS TX HW offloading for Infiniband, as well as an expansion of hardware and temperature monitoring.
- Elkhart Lake recognition in the HD Audio driver.
- New audio devices and codecs: Conexant CX2072X, Cirrus Logic CS47L35/85/90, Cirrus Logic Madera, RT1011/1308.
- Apple SPI driver for keyboard and trackpad.
- In the watchdog subsystem, a limit time can be set for opening /dev/watchdogN.
- The cpufreq frequency management mechanism has added support for imx-cpufreq-dt and Raspberry Pi.
Source: linux.org.ru
