Btrfs Gets Some Buttery Good Improvements With Linux 5.19
There is a lot of continued feature work, performance optimizations, and low-level code work continuing for the Btrfs file-system thanks to the continued work in particular by SUSE, Facebook, and other large supporters. Some of the Btrfs highlights for Linux 5.19 include:
- Btrfs will now avoid blocking on space reservation when doing nowait, direct I/O writes that can lead to around a 7% throughput improvement for both reads and writes.
- The no copy-on-write (NOCOW) write throughput performance should be improved by about 3% due to improved locking.
- There is another Btrfs performance improvement in the Btrfs-send code by reducing pressure on the page cache by dropping extent pages sooner.
- Btrfs sub-page handling now supports any PAGE_SIZE greater than 4K where as previously was just 64K support. Btrfs sub-page support is for handling sector sizes that are smaller than the kernel's page size rather than needing to keep them the same.
- Btrfs' sub-page path now also supports Btrfs RAID 5/6 operation.
- Various improvements to the Btrfs zoned storage support, including a per-profile sysfs tunable for the reclaim threshold.
- The Btrfs super block for number of devices (num_devices) will now be changed automatically if it does not match the number of devices present.
- Btrfs has migrated all radix trees over to XArrays within the code.
- Various bug fixes and other improvements to the Btrfs driver code.
More details on the Btrfs changes for Linux 5.19 via this pull request.