Linux 4.16 Can Be A Lot Faster For Small I/O Activity

Written by Michael Larabel in Linux Storage on 31 January 2018 at 11:30 AM EST. 13 Comments
The well known FIO benchmark saw a +244% improvement in read bandwidth for one test case as a result of one change to be found in Linux 4.16.

Jeff Layton of Red Hat has submitted a rework of inode's i_version code for the Linux 4.16 merge window. The i_version field has traditionally incremented on every inode data or metadata change. But none of the code using i_version has required this behavior, rather just depending that the version changes if the inode has changed since the last time it was checked.

Now with Linux 4.16, the inode's i_version field won't be uselessly updated all the time and as a result it should "help write performance under many common workloads."

As confirmed by Jeff, the kernel test bot has found this rework boosted a FIO read/write bandwidth test in FIO by 244% when using XFS over DAX with 4K writes. But he's also found the performance to be boosted in other small I/O workloads.

More details via this pull request. It will be great with Linux 4.16, especially considering the recent I/O drops in performance as a result of KPTI/Retpolines. Benchmarks will be coming up on Phoronix.
Related News
About The Author
Michael Larabel

Michael Larabel is the principal author of and founded the site in 2004 with a focus on enriching the Linux hardware experience. Michael has written more than 20,000 articles covering the state of Linux hardware support, Linux performance, graphics drivers, and other topics. Michael is also the lead developer of the Phoronix Test Suite, Phoromatic, and automated benchmarking software. He can be followed via Twitter, LinkedIn, or contacted via

Popular News This Week