News: 0001514574

  ARM Give a man a fire and he's warm for a day, but set fire to him and he's warm for the rest of his life (Terry Pratchett, Jingo)

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

([Linux Storage] 24 December 06:40 AM EST Uncached Buffered IO)


Linux I/O expert and storage expert Jens Axboe of Meta is hoping to have the uncached buffered I/O support squared away for [1]Linux 6.14 -- a feature that's been a half-decade in the making.

Recently Jens Axboe took to [2]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 [3]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 [4]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 [5]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.



[1] https://www.phoronix.com/search/Linux+6.14

[2] https://www.phoronix.com/news/Linux-RWF_UNCACHED-2024

[3] https://www.phoronix.com/news/Uncached-Buffered-IO-2024

[4] https://x.com/axboe/status/1870135054829007048

[5] https://lore.kernel.org/linux-fsdevel/20241220154831.1086649-1-axboe@kernel.dk/T/#m0b98b3bf81c913777e7173cf56df308f2595eb5a



Kjell

pWe00Iri3e7Z9lHOX2Qx

JEBjames

stormcrow

coder

Kjell

hwertz

coder

hwertz

Canonical, adj.:
The usual or standard state or manner of something. A true story:
One Bob Sjoberg, new at the MIT AI Lab, expressed some annoyance at the use
of jargon. Over his loud objections, we made a point of using jargon as
much as possible in his presence, and eventually it began to sink in.
Finally, in one conversation, he used the word "canonical" in jargon-like
fashion without thinking.
Steele: "Aha! We've finally got you talking jargon too!"
Stallman: "What did he say?"
Steele: "He just used `canonical' in the canonical way."