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.
https://lore.kernel.org/linux-fsdevel/20241220154831.1086649-1-axboe@kernel.dk/T/#m0b98b3bf81c913777e7173cf56df308f2595eb5a
Separate branches exist for the core support and fs support, see the cover letter for details.
=> More informations about this toot | View the thread
Interesting memcached experiment from @UWaterloo showing some nice wins. Maybe 2025 will be the year of io_uring networking.
https://git.uwaterloo.ca/lseo/io_uring-experiments
=> More informations about this toot | View the thread
Latest chromium (131.something) disables pretty much all plugins I care about, bye chrome/chromium and let's go firefox. Good riddance.
=> More informations about this toot | View the thread
In today's news - man with zero self reflection is busy in Internet comments explaining how we can fix our issues, because he has no faults of his own. Ridiculous.
=> More informations about this toot | View the thread
In today’s news: man with zero self reflection goes on lengthy one sided rant highlighting just that.
=> More informations about this toot | View the thread
grub version sorting is the worst. Why on earth would it think that x.y.z-rc1 is a later version than x.y.z?
=> More informations about this toot | View the thread
Latest version of uncached buffered IO was posted yesterday. Patchset includes ext4/xfs/btrfs support by now, and it passed a full run of xfstests yesterday (which took HOURS). Please give it a whirl if you're interested in this kind of thing - you know, the thing where buffered IO isn't god awful.
https://lore.kernel.org/linux-fsdevel/20241111234842.2024180-1-axboe@kernel.dk/
=> More informations about this toot | View the thread
Uncached buffered IO is back, after a 5 year hiatus. Simpler and cleaner now. Up to 65-75% improvement, at half the CPU usage on my system. And none of the nonsense of the unpredictability of the page cache. See commit 1 and 3 for read/write perf data.
https://git.kernel.dk/cgit/linux/log/?h=buffered-uncached.2
=> More informations about this toot | View the thread
And finally, added support for registered waits, where copying data structures for high frequency waits can be quite costly. In zero-copy tx/rx testing, eliminating as much as 3.5-4.5% of overhead. Details:
https://lore.kernel.org/io-uring/20241022204708.1025470-1-axboe@kernel.dk/T/#m2d1eb2cc648b9f9c292fd75fc6bc2a8d71eadd49
Kernel tree:
https://git.kernel.dk/cgit/linux/log/?h=io_uring-reg-wait
=> More informations about this toot | View the thread
In other developments, toyed with mixing provided + registered buffers for send zero-copy, which then adds support for bundles as well. With that, zero-copy send can send multiple buffers at the same time. Kernel tree:
https://git.kernel.dk/cgit/linux/log/?h=io_uring-sendzc-provided
=> More informations about this toot | View the thread
Support for resizing rings has been posted. Still in testing/development, so consider it an early preview. As it implies, it allows resizing an existing ring, both SQ and CQ rings. Details:
https://lore.kernel.org/io-uring/20241022021159.820925-1-axboe@kernel.dk/T/#md3a2f049b0527592cc6d8ea25b46bde9fa8e5c68
and tree:
https://git.kernel.dk/cgit/linux/log/?h=io_uring-ring-resize
=> More informations about this toot | View the thread
100G is boring, so I went 200G instead on the rx side. Implemented zc send in the test app (kperf) as well (io_uring already supports this). Single CPU thread, maxes out 200G link as well. See below for basic details:
https://lore.kernel.org/io-uring/9bbab76f-70db-48ef-9dcc-7fedd75582cb@kernel.dk/
https://fosstodon.org/@axboe/113278217854097854
=> More informations about this toot | View the thread
David recently posted the first non-rfc version of the io_uring zerocopy receive work, you can find it here:
https://lore.kernel.org/io-uring/ZwW7_cRr_UpbEC-X@LQ3V64L9R2/T/
I noticed Broadcom has public fw that supports this now, so really very few (and minor) dependencies left for this work.
I ran some testing. Details in the reply below:
https://lore.kernel.org/io-uring/2e475d9f-8d39-43f4-adc5-501897c951a8@kernel.dk/
tldr - line rate, 59% faster.
=> More informations about this toot | View the thread
Just like I did for 6.10, I wrote up a "what's new with io_uring" but for the 6.11/12 kernels. 6.11 wasn't super exciting in terms of features, so bundled these into a single page.
https://github.com/axboe/liburing/wiki/What's-new-with-io_uring-in-6.11-12
=> More informations about this toot | View the thread
David and Pavel gave a talk about the current status of networking zerocopy receive with io_uring at Kernel Recipes 2024 in Paris recently. If you're curious about where this is going, give it a watch!
https://www.youtube.com/watch?v=WQ22zAPBSnQ
=> More informations about this toot | View the thread
Nils Goroll @slink gave a talk at All Systems Go recently on using io_uring for a varnish storage engine. Worth a watch! I'm excited about the networking parts that he's currently working on.
https://www.youtube.com/watch?v=OExuBL2LPfY
=> More informations about this toot | View the thread
Fio 3.38 has been released. As usual, shortlog here:
https://brick.kernel.dk/snaps/fio-3.38.shortlog.txt
Various fixes, but also support for io_uring async discard (6.12 kernel) and nvme fdp (hopefully 6.13 kernel).
Thanks to everyone that contributed to this release!
=> More informations about this toot | View the thread
On the off chance that someone here uses thunderbird and the "copy message ID" extension - anyone taken a look at making it work with version 128? A recent upgrade broke it...
=> More informations about this toot | View the thread
Having worked on the kernel for decades, and imposing a lot of the same code/git hygiene for liburing, there can be a disconnect for contributors on what is expected of a commit and commit message, and what series of commits should look like. I attempted to provide a basic guideline here:
https://github.com/axboe/liburing/blob/master/CONTRIBUTING.md
and would appreciate feedback from folks on what I missed, what isn't clear, etc.
=> More informations about this toot | View the thread
Posted v2 of this patchset. No changes since last time, just rebased on top of the current tree(s).
https://lore.kernel.org/io-uring/20240824154924.110619-1-axboe@kernel.dk/T/#m6594772851558ac2b394634e70d7d7a90b989513
=> More informations about this toot | View the thread
=> This profile with reblog | Go to axboe@fosstodon.org account This content has been proxied by September (ba2dc).Proxy Information
text/gemini