In addition to the pull requests managed by Microsoft engineer Christian Brauner for VFS untorn writes for atomic writes with XFS and EXT4, Tmpfs case insensitive file/folder support, new Rust file abstractions, and the renewed multi-grain timestamps work, another interesting Linux 6.13 pull submitted by Brauner revolves around VFS file enhancements.
The VFS file updates for Linux 6.13 include a new reference counting mechanism for files, a new fast path, other new optimizations, and other clean-ups. Exciting me though always comes down to the performance improvements:
– Introduce a new reference counting mechanism for files.
…
This has been tested by various people and it gives consistent improvement up to 3-5% on workloads with loads of threads.– Add a fastpath for find_next_zero_bit(). Skip 2-levels searching via find_next_zero_bit() when there is a free slot in the word that contains the next fd. This improves pts/blogbench-1.1.0 read by 8% and write by 4% on Intel ICX 160.
– Conditionally clear full_fds_bits since it’s very likely that a bit in full_fds_bits has been cleared during __clear_open_fds(). This improves pts/blogbench-1.1.0 read up to 13%, and write up to 5% on Intel ICX 160.
Some nice performance gains, especially the latter two with the BlogBench benchmark that in turn should be easily reproducible.
More details on the VFS file improvements via this pull that has since been merged.
I look forward to beginning some Linux 6.13 kernel benchmarking as soon as the merge window settles down next week.