After two months of development, Linus Torvalds presented kernel release Linux 7.3. Among the most notable changes: a mechanism for FS isolation based on the pseudo-FS failfs and the fchroot() system call, support for creating nested schedulers SCHED_EXT, BPF handlers for launching executable files, alternative data streams in NTFS3, performance optimizations FUSE, Btrfs and Ext4, support for Apple Time Machine in ksmbd, removal of FS and FreeVxFS, direct access mode to block devices, improved shortage handling video memory, monitoring guest system memory accesses via userfaultfd, compression of AppArmor rules, restricting access to AF_ALG, support for Apple M3 chips.
The new version includes 20,260 fixes from 3,171 developers, of which 807 sent their changes to the kernel for the first time. Patch size – 63 MB (changes affected 14923 files, added 943849 lines of code,
297515 rows removed). The last release had 17833 fixes from 2766 developers, the patch size was 68 MB. About 44% of all changes introduced in 7.3 are related to device drivers, approximately 12% of changes are related to updating code specific to hardware architectures, 12% are related to the network stack, 5% are related to file systems and 3% are related to internal kernel subsystems.
Main innovations in the 7.3 kernel (1, 2, 3):
- Disk subsystem, input/output and file systems
- The performance of the Btrfs file system has been optimized. Extra latency has been removed for non-SSD drives, resulting in a 5x increase in throughput for fsync-intensive workloads such as logging. In fsync, void detection in files with a large number of extents and without voids is disabled, which speeds up the execution of some specific tests by 5 times.
When tracking non-cached extent buffers, the xarray structure was replaced with a local LRU list, which led to a 3 times improvement in the performance of these operations. Fixed performance issues when using direct I/O mode caused by regressions in previous kernel releases. Locks during read-ahead reads of extents have been reduced, which has reduced overhead when different tasks access overlapping areas.
- In Btrfs support for the first version has been removed cache with information about free space. FS created on older systems must be converted to the second version of the cache using the btrfstune utility, otherwise they will work slower. Also removed the “usebackuproot” mount option, in favor of “rescue=usebackuproot”.
- In Ext4 FS increased
- The performance of the Btrfs file system has been optimized. Extra latency has been removed for non-SSD drives, resulting in a 5x increase in throughput for fsync-intensive workloads such as logging. In fsync, void detection in files with a large number of extents and without voids is disabled, which speeds up the execution of some specific tests by 5 times.