After Windows ReFS improvements, Linux is getting F2FS, Btrfs, EXT4 performance improvements.


Tux Linux vs Windows 11

Microsoft is gradually expanding support for ReFS (Resilient File System) in recent Windows 11 Insider builds. First spotted in January, a hidden feature within dev build 25281 will allow users to install Windows 11 on a ReFS volume. The company has since added more ReFS-based features such as “Dev Drive” VHD volumes. Microsoft also updated the base ReFS version to 3.10 in one of the recent Canary Channel builds.

While the use of ReFS on Windows is growing, Linux on the other hand is also seeing some steady growth on some of its file systems. From some of the recent Linux kernel patches, it appears that the most popular Linux file systems, the Flash-Friendly File System (F2FS), the B-Tree Filesystem (Btrfs), and the Fourth Extended File System (EXT4), have significant performance improvements. are doing .

For example, Btrfs is getting about a 10% performance boost on SATA SSDs. Perhaps the improvement in NVMe drives could be even greater:

Always read in 64KiB block size The actual read block size starts at 64KiB, and ends at 512K. This already results in better performance even in the worst case:

  • With patch set: 404.81MiB/s
  • Without patch set: 369.30MiB/s

About 10% performance improvement over SATA SSD.

Moving on to EXT4, there are several improvements:

This cycle ext4 has several major improvements:

  • The data=journal write path has been significantly cleaned up and simplified, and data=journal by John Kara reduces a large number of special cases.
  • Ojaswin Muhoo replaced the linked list used to track extents used for inode pre-allocation with a red-black tree in a multiblock allocator. This improves performance for workloads that perform large numbers of randomly allocated writes.
  • Thanks to Kemeng Shi for many cleanups and bug fixes in the multiblock allocator.
  • Matthew Wilcox has changed the code paths for reading and writing ext4 pages to use Folio. * Jason Yan continues to add ext4_fill_super() to smaller functions to improve maintainability and understandability.
  • Josh Triplett has created the uapi header for the ext4 userspace API.

Finally, here are the improvements to F2FS:


  • Support non-power-off-to-zone size for a zoned device.
  • Unshare the rb_entry structure in the limit cache.
  • Refactor f2fs_gc to call checkpoint in immediate state – support iopol.

Overall, it looks like Linux kernel version 6.4 will be quite decent in terms of performance.

Source: LKML (1) , (2) , (3) through Phronics


You may also like...

Leave a Reply

Your email address will not be published. Required fields are marked *