After two months of development, Linus Torvalds presented a kernel release Linux 5.10 . We decided to assign the 5.10 release the status of a branch with a long support period, updates for which will be released for at least two years. Notable changes include: support for the MemTag protection mechanism for ARM64 systems, “nosymfollow” mount option, significant Ext4 optimizations, resolution of the 2038 problem in XFS, new process_madvise system call, enhanced AMD SEV support by encrypting CPU registers, the ability to pause the execution of BPF programs.
The new version received 17470 fixes from 2062 developers,
patch size – 64 MB (changes affected 15101 files, added 891,932 lines of code, removed 619,716 lines). About 42% of all changes introduced in 5.10 are related to device drivers, approximately 16% of changes are related to updating code specific to hardware architectures, 13% are related to the network stack, 3% are related to filesystems and 3% to internal kernel subsystems.
- Disk subsystem, I / O and file systems
- In ext4 filesystem added fast commits mode (fast_commit), which allows to significantly reduce delays when performing many file operations due to faster reset of metadata to disk when making an fsync () call. Under normal circumstances, running fsync () synchronizes a redundant set of metadata. In fast_commit mode, only the metadata needed to recover the filesystem in case of a crash is transferred to the log, which speeds up fsync () calls and improves the performance of operations that actively manipulate metadata.
The new mode is enabled during file system creation with the mkfs utility. Combined with optimizations for buffered write operations, there is significant performance improvement under concurrent write workloads. For example, on a system with 96 CPU cores, the fio.write_iops benchmark is 330.6% faster.
- Btrfs file system implementation significant performance optimizations made related to fsync () operations. The decrease in log mutex contention resulted in a 4% increase in throughput and a 14% decrease in latency on 32 clients in the dbench benchmark. Dropping extra commits for links and renames increased bandwidth by 6% and reduced latency by 30%. Limiting fsync to wait only on writebacks increased throughput by 10-40%.
Btrfs’ direct io implementation has been moved to the iomap framework. Added new sysfs parameters with information about the status of exclusive operations with FS (balancing, adding / replacing devices) and the send stream version.
- In ext4 filesystem added fast commits mode (fast_commit), which allows to significantly reduce delays when performing many file operations due to faster reset of metadata to disk when making an fsync () call. Under normal circumstances, running fsync () synchronizes a redundant set of metadata. In fast_commit mode, only the metadata needed to recover the filesystem in case of a crash is transferred to the log, which speeds up fsync () calls and improves the performance of operations that actively manipulate metadata.