[go: up one dir, main page]
More Web Proxy on the site http://driver.im/

Uncached Buffered I/O Aims To Be Ready For Linux 6.14 With Big Gains

Written by Michael Larabel in Linux Storage on 24 December 2024 at 06:40 AM EST. 10 Comments
LINUX STORAGE
Linux I/O expert and storage expert Jens Axboe of Meta is hoping to have the uncached buffered I/O support squared away for Linux 6.14 -- a feature that's been a half-decade in the making.

Recently Jens Axboe took to renewing work on uncached buffered I/O for big speed improvements. Axboe was aiming to address a "throughput cliff" that can occur for performance once the page cache is filled. The new implementation of this uncached buffered I/O "RWF_UNCACHED" is simpler and cleaner while being "up to 65-75% improvement" for performance and bypassing unpredictability issues with the page cache.

Recent weeks have seen Axboe continuing to iterate on this code and extending the support to more file-systems. It's now looking like the uncached buffered I/O support will be ready for the upcoming Linux 6.14 cycle.

Jens Axboe posted this week on X:
"Posted v8 of the uncached buffered IO patchset. This should be fine for merging at this point, let's hope we can make the 6.14 kernel release."

The v8 patches rename some functions, acknowledge additional code reviews, and other minor changes in preparation for landing the code. The file-system patches have also been separated in their own code branch that will depend upon the core branch first being merged. Plus the patches have been updated against the current Linux Git development state.

As Axboe notes in the patch cover letter:
"tldr being that I see about a 65% improvement in performance for both, with fully predictable IO times. CPU reduction is substantial as well, with no kswapd activity at all for reclaim when using uncached IO.

Using it from applications is trivial - just set RWF_DONTCACHE for the read or write, using pwritev2(2) or preadv2(2). For io_uring, same thing, just set RWF_DONTCACHE in sqe->rw_flags for a buffered read/write operation. And that's it."

Here's to hoping the uncached buffered I/O code indeed makes it into Linux 6.14 with its exciting gains.
Related News
About The Author
Michael Larabel

Michael Larabel is the principal author of Phoronix.com 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 OpenBenchmarking.org automated benchmarking software. He can be followed via Twitter, LinkedIn, or contacted via MichaelLarabel.com.

Popular News This Week