Increasing the number of the major version to 5 does not mean any grandiose changes or compatibility breakdowns. It just helps our dear Linus Torvalds to keep his peace of mind. Below is a list of some of the changes and innovations.
core core:
- The CFS process scheduler on asymmetric processors like ARM works differently - first of all, it loads low-power and energy-efficient cores.
- Through the fanotify file event tracking API, you can receive notifications when a file is opened for execution.
- The cpuset controller is integrated, with which you can limit process groups by using the CPU and NUMA nodes.
- Support for the following ARM devices is included: Qualcomm QCS404, Allwinner T3, NXP/Freescale i.MX7ULP, NXP LS1028A, i.MX8, RDA Micro RDA8810PL, Rockchip Gru Scarlet, Allwinner Emlid Neutis N5, and many more.
- Improvements in the ARM subsystem: memory hot plugging, Meltdown and Specter protection, 52-bit memory addressing, etc.
- Support for the WBNOINVD instruction for x86-64.
Memory subsystem:
- For the KASAN tool on ARM64 platforms, substitution of check tags with low memory consumption is available.
- Memory fragmentation is drastically reduced (up to 90%), as a result, the Transparent HugePage mechanism works better.
- The performance of mremap(2) on large areas of memory has been increased up to 20 times.
- In the KSM mechanism, jhash2 has been replaced by xxhash, thanks to which, on 64-bit systems, the speed of KSM has increased by 5 times.
- Improvements in ZRam and OOM.
Block devices and file systems:
- The blk-mq mechanism with a multi-level request queue system has become the main one for block devices. All non-mq code removed.
- Improvements to NVMe support, especially in terms of how devices work over the network.
- Btrfs has full support for swap files, as well as changing the FSID without overwriting metadata.
- Added ioctl call to F2FS for delayed FS check via fsck.
- Integrated BinderFS - pseudo-FS for interprocess communication. Allows you to run multiple instances of Android in the same environment.
- A number of improvements in CIFS: DFS cache, extended attributes, smb3.1.1 protocol.
- ZRam works best with unused swap devices, saving memory.
Security and virtualization:
- Streebog hash function (GOST 34.11-2012) developed by the FSB of the Russian Federation has been added.
- Support for the Adiantum encryption algorithm developed by Google for low-power devices.
- The algorithms XChaCha12, XChaCha20 and NHPoly1305 are included.
- Handling of calls to seccomp can now be moved to user space.
- For KVM guest systems, support for Intel Processor Trace extensions is implemented with a minimum performance drop.
- Improvements in the KVM/Hyper-V subsystem.
- The virtio-gpu driver has received EDID simulation support for virtual monitors.
- The virtio_blk driver implements the discard call.
- Implemented security features for NV memory based on Intel DSM 1.8 specifications.
Device drivers:
- DRM API changes to fully support adaptive timing (part of the DisplayPort standard) and variable refresh rates (part of the HDMI standard).
- The Display Stream Compression standard is included for lossless compression of video streams addressed to high resolution screens.
- AMDGPU driver now supports FreeSync 2 HDR and GPU reset for CI, VI, SOC15.
- The Intel video driver received support for Amber Lake chips, YCBCR 4:2:0 and YCBCR 4:4:4 formats.
- The Nouveau driver includes work with video modes for video cards of the Turing TU104/TU106 family.
- Integrated drivers for Raspberry Pi touchscreen, CDTech panels, Banana Pi, DLC1010GIG, etc.
- The HDA driver supports the jack button, LED indicators, Tegra186 and Tegra194 devices.
- The input subsystem has learned to work with high-precision scrolling on some Microsoft and Logitech mice.
- A lot of changes in the drivers of webcams, TV tuners, USB, IIO, etc.
Network subsystem:
- The UDP stack implements support for the zero-copy mechanism for transmitting data over a socket without intermediate buffering.
- The Generic Receive Offload mechanism has also been added there.
- Improved search performance in xfrm policies when there are a large number of them.
- The ability to offload tunnels has been added to the VLAN driver.
- A number of improvements in support for Infiniband and wireless networks.
Source: linux.org.ru