OpenZFS Lands A Very Nice Performance Optimization

Written by Michael Larabel in Linux Storage on 6 January 2023 at 10:30 AM EST. 73 Comments
A very nice feature pull request was merged to OpenZFS that can provide a nice performance improvement to this open-source ZFS file-system implementation to kick off the new year.

Alexander Motin with iXsystems has seen his uncached prefetch work land into OpenZFS. Motin summed up in the now-merged pull request:
This change gives ARC a knowledge about uncacheable buffers. It is passed to arc_read() and arc_write() and stored in ARC header. When remove_reference() drops last reference on the ARC header, it can either immediately destroy it, or if it is marked as prefetch, put it into new arc_uncached state. That state is scanned every second, looking for stale buffers that were not demand read (in which case they are evicted immediately).
With the combination of enabled prefetch and avoided memory copy this change improves sequential single-threaded read speed from a wide NVMe pool from 2049 to 3932 MiB/s. During write profiler shows 22% reduction of unhalted CPU cycles at the same throughput of 3653 MiB/s.

OpenZFS developer Brian Behlendorf shared some benchmark results featuring this change and the performance there also looks very nice:

A nice way to start 2023 for OpenZFS... More details via this pull.
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