After two months of development, Linux creator Linus Torvalds has released Linux 6.17. Some of the key changes include improvements in BTRFS performance, new system calls File_getattr() and File_Setattr(), consolidation of monoprocessor and multiprocessor configurations in the task scheduler, Damon_stat module with memory statistics, support for Live-paths on ARM64 systems, sending Core Dumps through AF_UNIX socket, implementation of SCHED_EXT limit via CGROUP, simplified CPU vulnerability configuration, Clang assembly with variable initialization on the stack, replacement of protection mechanisms, expansion of the RUNTIME Verification subsystem, and restrictions on AF_UNIX sockets through Apparmor, TCP Dualpi2 overload control algorithm.
The new version incorporates 14334 fixes from 2118 developers. The patch size is 46MB with changes impacting 12841 files, adding 646654 lines of code, and removing 398782 lines. In the previous release, there were 15924 fixes from 2145 developers with a patch size of 50MB. About 43% of changes in 6.17 relate to device drivers, 12% to hardware architecture specific code updates, 14% to network stack, 4% to file systems, and 3% to internal kernel subsystems.
Key innovations in Linux 6.17 include:
- Disk subsystem, input/output, and file systems:
- BTRFS now supports experimental large memory page folios, improving performance and reducing overhead costs. Enhanced free space distribution benefits empty file performance by 20%. Proactive reading efficiency is improved for compressed data systems. Xarray structure now has denser key placement, increasing storage compactness and reducing final nodes by 50-70%. Additional compression options for defragmented extents are provided.
- EXT4 introduces support for buffering/output with the RWF_Dontcache flag, where data is immediately removed from page cache after operation completion.
- EROFS implements support for metadata compression.
- NFS server delegation now includes write-only operations for opened files.
- Fallocate() system call adds the Falloc_fl_write_zeroes flag, enabling zero-fill range in files using SSDs supporting Write_zero